HDU 3699 A hard Aoshu Problem (暴力搜索)
题意:题意:给你3个字符串s1,s2,s3;要求对三个字符串中的字符赋值(同样的字符串进行同样的数字替换),
替换后的三个数进行四则运算要满足左边等于右边。求有几种解法。
2
A A A
BCD BCD B
5
72
eg:ABBDE ABCCC BDBDE ;令 A = 1, B = 2, C = 0, D = 4, E = 5
12245 + 12000 = 24245;
注意没有前导零!
!
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<string>
#include<queue>
#include<map>
#include<math.h>
#include<algorithm>
#include<iostream>
using namespace std;
const int kind = 26;
const int maxn = 250*1000; //注意RE,单词长度*单词个数
const int M = 5100000;
int vis[10],flag[10],l,ans;
char s1[10],s2[10],s3[10],s[10];
map<char,int>mp,dl;
void Cal()
{
int a=0,b=0,c=0;
for(int i=0;i<strlen(s1);i++)
a=a*10+mp[s1[i]];
for(int i=0;i<strlen(s2);i++)
b=b*10+mp[s2[i]];
for(int i=0;i<strlen(s3);i++)
c=c*10+mp[s3[i]];
if(a+b==c) ans++;
if(a-b==c) ans++;
if(a*b==c) ans++;
if(b&&a==b*c) ans++;
}
void dfs(int num)
{
if(num>=l)
{
Cal();
return;
}
for(int i=0;i<10;i++)
{
if(i==0&&dl[s[num]]) continue;
if(!flag[i])
{
flag[i]=1;
mp[s[num]]=i;
dfs(num+1);
flag[i]=0;
}
}
}
int main()
{
int t;
scanf("%d",&t);
while(t--)
{
memset(vis,0,sizeof(vis));
mp.clear();dl.clear();
ans=0;
scanf("%s%s%s",s1,s2,s3);
if(strlen(s1)>1) dl[s1[0]]=1;
if(strlen(s2)>1) dl[s2[0]]=1;
if(strlen(s3)>1) dl[s3[0]]=1;
int i,k,j;
l=0;
for(i=0;i<strlen(s1);i++)
{
if(vis[s1[i]-'A']) continue;
vis[s1[i]-'A']++;
s[l++]=s1[i];
}
for(i=0;i<strlen(s2);i++)
{
if(vis[s2[i]-'A']) continue;
vis[s2[i]-'A']++;
s[l++]=s2[i];
}
for(i=0;i<strlen(s3);i++)
{
if(vis[s3[i]-'A']) continue;
vis[s3[i]-'A']++;
s[l++]=s3[i];
}
dfs(0);
printf("%d\n",ans);
}
return 0;
}
/*
2
A A A
BCD BCD B
*/
HDU 3699 A hard Aoshu Problem (暴力搜索)的更多相关文章
- HDU 3699 A hard Aoshu Problem(暴力枚举)(2010 Asia Fuzhou Regional Contest)
Description Math Olympiad is called “Aoshu” in China. Aoshu is very popular in elementary schools. N ...
- HDU 3131 One…Two…Five! (暴力搜索)
题目链接:pid=3131">HDU 3131 One-Two-Five! (暴力搜索) 题意:给出一串数字,要求用加,减,乘,除(5/2=2)连接(计算无优先级:5+3*6=8*6= ...
- hdu 3699 10 福州 现场 J - A hard Aoshu Problem 暴力 难度:0
Description Math Olympiad is called “Aoshu” in China. Aoshu is very popular in elementary schools. N ...
- hdu 4740 The Donkey of Gui Zhou(暴力搜索)
题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=4740 [题意]: 森林里有一只驴和一只老虎,驴和老虎互相从来都没有见过,各自自己走过的地方不能走第二次 ...
- hdu 1427 速算24点 dfs暴力搜索
速算24点 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Problem De ...
- HDU 4403 A very hard Aoshu problem(DFS)
A very hard Aoshu problem Problem Description Aoshu is very popular among primary school students. I ...
- hdu4403- A very hard Aoshu problem(搜索)
枚举等号的位置,然后暴力搜索一波 这个题本身不难,但它是我第一次使用对拍程序来查找错误,值得纪念. #include<cstdio> #include<string.h> #i ...
- ACM 暴力搜索题 题目整理
UVa 129 Krypton Factor 注意输出格式,比较坑爹. 每次要进行处理去掉容易的串,统计困难串的个数. #include<iostream> #include<vec ...
- A very hard Aoshu problem(dfs或者数位)
题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=4403 A very hard Aoshu problem Time Limit: 2000/1000 ...
随机推荐
- MYSQL 命令行导入导出
1.导出mysql数据库 mysqldump -h[服务器地址本机可以忽略] -u[用户] -p[密码] -P[myql数据库端口]>导出文件位置 mysqldump -h192. -uroot ...
- Swift - 给游戏添加背景音乐和音效(SpriteKit游戏开发)
游戏少不了背景音乐和音效.下面我们通过创建一个管理音效的类,来实现背景音乐的播放,同时点击屏幕可以播放相应的音效. 声音管理类 SoundManager.swift 1 2 3 4 5 6 7 8 9 ...
- EasyUI - Progressbar 进度条控件
效果: html代码: <div id="p" style="width:400px;"></div> JS代码: $(function ...
- 【ASP.NET Web API教程】2.4 创建Web API的帮助页面
原文:[ASP.NET Web API教程]2.4 创建Web API的帮助页面 注:本文是[ASP.NET Web API系列教程]的一部分,如果您是第一次看本博客文章,请先看前面的内容. 2.4 ...
- ListView+CheckBox两种解决方式及原因分析
近期在用ListView+CheckBox搞一个item选中的项目,我将CheckBox的focus设置为false,另我大喜的是,CheckBox居然能够选中(窃喜中),这么简单就搞定了,由于数据量 ...
- 关于vs2005 __RPC__out __RPC__in 没有定义编译错误
1. 下载WDK http://www.microsoft.com/en-us/download/details.aspx?id=11800 2. 安装WDK 3. vs2005 设置:工具--> ...
- HDU 1863 畅通project (最小生成树是否存在)
题意 中文 入门最小生成树 prim大法好 #include<cstdio> #include<cstring> using namespace std; const int ...
- VC GDI双缓冲机制绘图防屏幕闪烁实现步骤
在OnDraw(CDC* pDC) 中添加如下代码 CDC MemDC; //首先定义一个显示设备对象 CBitmap MemBitmap;//定义一个位图对象 //随后建立与屏幕显示兼容的内存显示设 ...
- 11gR2(11.2) RAC TAF Configuration for Admin and Policy Managed Databases (文档 ID 1312749.1)
In this Document Purpose _afrLoop=1459323732561579&id=1312749.1&displayIndex=10&_afr ...
- Swift - 分段选择控件(UISegmentedControl)的用法
1,选择控件的创建,并监听控件选择值 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 class ViewController: UIVie ...