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 ...
随机推荐
- 从M个数中随机选出N个数的所有组合,有序,(二)
这就是数学中的 A m n 的选取. 共有 m!/n!种可能.. 同样举一个例子吧.. 从12345这五个数字中随机选取3个数字,要求选出来的这三个数字是有序,也就是说从12345中选出来的是12 ...
- TCP协议中的计时器
说明: 本文仅供学习交流.转载请标明出处,欢迎转载! 本文是下面文献相关内容的总结 [1] <TCP/IP具体解释 卷1:协议> [2] <TCP/IP协议族 第4版> [3 ...
- perl lwp编码
$var= $response->content; $var= $response->decoded_content;
- 14.10.1 InnoDB Disk I/O
14.10 InnoDB Disk IO and File Space Management InnoDB 磁盘IO和文件空间管理: 14.10.1 InnoDB Disk I/O 14.10.2 F ...
- javascript 变量转义
$(this).append('<a href="2-1partner.html"><div><img width="645" h ...
- php数据库操作类
config.db.php <?php $db_config["hostname"] = "localhost"; //服务器地址 $db_config[ ...
- 基本HTML5文件结构
作者 : Dolphin 原文地址:http://blog.csdn.net/qingdujun/article/details/28129039 基本HTML5文件结构: <!--<!D ...
- 关于Opengl中将24位BMP图片加入一个alpha通道并实现透明的问题
#include <windows.h>#include <GL/glut.h>#include <GL/glaux.h>#include <stdio.h& ...
- Swift - 创建并设置背景(SpriteKit游戏开发)
1,先把背景图片bg.jpg,bg@2x.jpg直接拖进Images.xcassets中 2,设置如下代码(背景图直接铺满整个屏幕) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 ...
- Hive HA使用说明
hive让大数据飞了起来,不再需要专人写MR.平常我们都可以用基于thrift的任意语言来调用hive. 不过爱恨各半,hive的thrift不稳定也是出了名的.很容易就出问题,让人无计可施.唯一的办 ...