hdu1226
来源:互联网 发布:打卡网络用语 编辑:程序博客网 时间:2024/06/06 23:53
hdu1226 :点击打开题目链接
本题目由于题目意思,容易得知是一道广搜的题目。
首先。 我们需要知道 ,大数取模,比如 如何判断1234567 对15 取模的数为多少?答案是7,但是如果他是大数怎么办,
假设num数组存一个大数;左边为高位,右边为低位
int temp=0;
for(int i=最高位;i<=个位;i++)
temp=(temp * 某进制+num[i])%N;
return temp; // 最终的temp就是bignumber mod N 的值。
如果该余数出现过就没必要再次进队列了,因为此次模一样代表着下次的模也一样当这个数的模为0,那么前面的数模早已经为0,所以,后者没必要进队列。
.12
#include<iostream>#include<stdio.h>#include<algorithm>#include<vector>#include<string>#include<string.h>#include<queue>using namespace std;const int INF=~(1<<31);const int MM=1005;int N,C,M;bool digit[18],vis[5005];int mod(string& a){ int temp=0; for(int i=0; i<a.size(); i++) { temp=(temp*C+(int)a[i])%N; } return temp;}void print(string& a){ for(int i=0; i<a.size(); i++) { printf("%X",(int)a[i]); } cout<<endl;}bool bfs(){ queue<string>q; string a,b; for(int i=1; i<=15; i++) { if(digit[i]) { a=(char)i; if(mod(a)==0) { print(a); return false; } q.push(a); } } while(!q.empty()) { a=q.front(); q.pop(); for(int i=0; i<=15; i++) { if(digit[i]&&a.size()+1<=500) { b=a+(char)i; int mood=mod(b); if(mood==0) { print(b); return false; } else { if(vis[mood]==0) { vis[mood]=1; q.push(b); } } } } } return true;}int main(void){ int ncase; scanf("%d",&ncase); while(ncase--) { memset(digit,0,sizeof(digit)); memset(vis,0,sizeof(vis)); scanf("%d%d%d",&N,&C,&M); for(int i=0; i<M; i++) { int val; scanf("%x",&val); digit[val]=true; } if(N==0) { if(digit[0]) cout<<"0"<<endl; else cout<<"give me the bomb please"<<endl; continue; } if(bfs()) cout<<"give me the bomb please"<<endl; } return 0;}
0 0
- hdu1226
- hdu1226
- hdu1226 BFS
- HDU1226 BFS
- hdu1226 超级密码 bfs
- HDU1226:超级密码(BFS)
- HDU1226:超级密码(BFS)
- HDU1226:超级密码(BFS)
- hdu1226 超级密码
- HDU1226超级密码(BFS)
- hdu1226 搜索水题
- hdu1226 超级密码 (BFS)
- HDU1226-BFS剪枝
- HDU1226 超级密码(BFS)
- hdu1226 超级密码--BFS
- HDU1226 超级密码
- hdu1226超级密码 bfs
- 超级密码hdu1226 bfs
- android开发之使edittext输入弹出数字软键盘。亲测可用。手机号登陆注册常用。
- Python.Paste指南之Deploy(1)-概念
- JavaScript 基础
- er表到式里面的值取小数点后面两位
- 第七讲 分支结构程序体验之练习 3个小程序
- hdu1226
- Android-你所不知道的context
- 有关ListView注意的问题
- awk入门2
- 转载出去:http://blog.csdn.net/han_xiaoyang/article/details/11969497
- 发送消息
- Linux遍历文件夹下文件
- JavaScript生成并下载csv文件
- iOS代码技巧之判断设备及状态