题意:题意:给你3个字符串s1,s2,s3;要求对三个字符串中的字符赋值(同样的字符串进行同样的数字替换),

替换后的三个数进行四则运算要满足左边等于右边。求有几种解法。

Sample Input
2
A A A
BCD BCD B
 
Sample Output
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 (暴力搜索)的更多相关文章

  1. 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 ...

  2. HDU 3131 One…Two…Five! (暴力搜索)

    题目链接:pid=3131">HDU 3131 One-Two-Five! (暴力搜索) 题意:给出一串数字,要求用加,减,乘,除(5/2=2)连接(计算无优先级:5+3*6=8*6= ...

  3. 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 ...

  4. hdu 4740 The Donkey of Gui Zhou(暴力搜索)

    题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=4740 [题意]: 森林里有一只驴和一只老虎,驴和老虎互相从来都没有见过,各自自己走过的地方不能走第二次 ...

  5. hdu 1427 速算24点 dfs暴力搜索

    速算24点 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Problem De ...

  6. HDU 4403 A very hard Aoshu problem(DFS)

    A very hard Aoshu problem Problem Description Aoshu is very popular among primary school students. I ...

  7. hdu4403- A very hard Aoshu problem(搜索)

    枚举等号的位置,然后暴力搜索一波 这个题本身不难,但它是我第一次使用对拍程序来查找错误,值得纪念. #include<cstdio> #include<string.h> #i ...

  8. ACM 暴力搜索题 题目整理

    UVa 129 Krypton Factor 注意输出格式,比较坑爹. 每次要进行处理去掉容易的串,统计困难串的个数. #include<iostream> #include<vec ...

  9. A very hard Aoshu problem(dfs或者数位)

    题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=4403 A very hard Aoshu problem Time Limit: 2000/1000 ...

随机推荐

  1. [Cocos2d-x开发问题-3] cocos2dx动画Animation介绍

    Cocos2d-x为了减少开发难度,对于动画的实现採用的帧动画的方案.这也就是说Cocos2d-x中的动画是帧动画. 帧动画的原理相信大家都不陌生,就是多张图片循环播放以实现动画的效果. 一个简单的动 ...

  2. 摘记:IIS长时间任务超时处理

    1.如果是在客户端调用Webservice,首先设置客户端超时, SoapHttpClientProtocol.Timeout = 3600 * 1000;//单位为秒,这是设置了一个小时 2.如果站 ...

  3. 三篇IMO的文章

    http://column.iresearch.cn/b/201411/687499.shtml?from=singlemessage&isappinstalled=1 http://colu ...

  4. android 细节之 旋转动画

    Flip Animation for Android: 近期项目中用到了一个小动画,让物体实现一定的3D旋转效果,现记录例如以下: public class FlipAnimation extends ...

  5. OO的ALV隐藏工具栏的form

    OO的ALV隐藏工具栏: ***展示数据 CALL METHOD gr_alvgrid->set_table_for_first_display EXPORTING is_variant = g ...

  6. Vanya and Lanterns

    Description Vanya walks late at night along a straight street of length l, lit by n lanterns. Consid ...

  7. Ubuntu 无法拖拽复制

    首先确定 在ubuntu 下,vmware tools 已经安装成功 有些时候会出现vmware tools 已经安装成功,但是却无法实现拖拽和复制 1.首先在虚拟机设置里面勾选共享剪切板 2.然后重 ...

  8. StackOverFlow的2016统计

    http://stackoverflow.com/research/developer-survey-2016

  9. session对象和applicatione对象

    ASP.NET 的常用对象有:response对象.request对象.application对象.server对象.session对象.下面主要讨论session对象和cookie对象. sessi ...

  10. Qt之设置QWidget背景色(QStyleOption->drawPrimitive(QStyle::PE_Widget)方法比较有趣)

    QWidget是所有用户界面对象的基类,这意味着可以用同样的方法为其它子类控件改变背景颜色. Qt中窗口背景的设置,下面介绍三种方法. 1.使用QPalette2.使用Style Sheet3.绘图事 ...