HDU 1226 搜索
来源:互联网 发布:网络硬盘服务器软件 编辑:程序博客网 时间:2024/06/05 19:35
BFS用余数来判重,因为n最大5000,只需要存储5000以内的余数即可;
n==0 时特殊考虑一下
#include "queue"#include "string"#include "iostream"using namespace std;struct node{int mod;string ans;};int n,c,flag;string ans;int mark[5010],f[5010];void bfs(){queue<node>q;node cur,next;int i;for (i=1;i<16;i++)if (f[i]==1){mark[i%n]=1;cur.mod=i%n;cur.ans="";if (i<10)cur.ans+=i+'0';else cur.ans+=i+'A'-10;q.push(cur);}while (!q.empty()){cur=q.front();q.pop();if (flag==1 && cur.ans.size()>ans.size()) continue;if (cur.mod==0){if (flag==0) ans=cur.ans;flag=1;if (ans.size()>cur.ans.size() || (ans.size()==cur.ans.size() && ans>cur.ans))ans=cur.ans;}for (i=0;i<16;i++)if (f[i]==1){next=cur;if (i<10)next.ans+=i+'0';else next.ans+=i+'A'-10;next.mod=(cur.mod*c+i)%n;if ((next.ans.size()<=500 && mark[next.mod]==0) || next.mod==0){mark[next.mod]=1;q.push(next);}}}}int main(){int Case,i,m;char ch;scanf("%d",&Case);while (Case--){scanf("%d%d",&n,&c);scanf("%d",&m);memset(f,0,sizeof(f));// 记录该数字是否可用for (i=1;i<=m;i++){getchar();scanf("%c",&ch);if (ch<='9' && ch>='0') f[ch-'0']=1;else f[ch-'A'+10]=1;}if (n==0){if (f[0]==1) printf("0\n");else printf("give me the bomb please\n");continue;}flag=0;memset(mark,0,sizeof(mark));// 记录余数时候出现过bfs();if (flag==0) printf("give me the bomb please\n");else cout<<ans<<endl; }return 0;}
0 0
- HDU 1226 搜索
- 【搜索】 HDU 1226 超级密码
- hdu搜索
- hdu搜索
- HDU 1226 【搜索 + 大数取模】
- HDU 1226超级密码(搜索进阶)
- HDU 1704 (搜索题)
- HDU 4016 搜索
- HDU 1181 搜索
- HDU-1128 暴力搜索
- 搜索 hdu 1238
- hdu 3786 搜索
- HDU 1430 魔板 搜索
- HDU-1548(BFS搜索)
- 搜索hdu 1240
- HDU 4536 状态搜索
- hdu 2141 二分搜索
- hdu 1429搜索
- (Java)微信之个人公众账号开发(二)——接收并处理用户消息 (中)
- 利用GDI+基于WIN32实现桌面雪花效果(一)
- Hardcoded string,should use @string resource警告 && eclipse中一次性导入用到的类 && 重命名多处调用的对象
- Python装饰器学习笔记
- hdu 1242 Rescue 解题报告
- HDU 1226 搜索
- hdu 1829 A Bug's Life
- hdu1002
- 字符设备驱动之led灯的控制实验
- C++编程问题--glibc detected *** ./a.out: munmap_chunk(): invalid pointer: xxxxxx
- POJ 2309 BST 二叉树性质 位运算
- AbstractList.equals(Object o)
- [C\C++基础知识] main函数的参数argc和argv
- action里面获取session以及获取设置session的属性