POJ 1465 Multiple BFS
来源:互联网 发布:龙霸点歌机网络加歌 编辑:程序博客网 时间:2024/05/01 07:09
上来一看只会暴力,网上看了看资料,知道了还有一个剪枝
假设A,B对于X的余数相同
那么 (10*A+d[i])%x =(10*B+d[i])%x ,所以只有当余数没出现过的情况下才加入到搜索的队列中来
另外还有一个问题,就是可能是最后的答案出现很庞大的位数,所以要用指针,这里我是用数组模拟。
还有就是单独处理N=0的情况 ,RE了好几次
#include<cstdio>#include<stdlib.h>#include<queue>#include<cstring>#define INF 1000000000using namespace std;int n,m,d[150];struct point{int yu;int pre;int now;}que[10000];int cmp(const void * a,const void * b){int * aa=(int *)a;int * bb=(int *)b;return *aa-*bb;}void print(int tem){if(que[tem].pre!=-1){print(que[tem].pre);printf("%d",que[tem].now);}}int bfs(){int front=0,rear=0;int flag[5010];que[rear].now=0;que[rear].pre=-1;que[rear++].yu=0;memset(flag,0,sizeof(flag));while(front<rear){struct point tem;tem=que[front];for(int i=0;i<m;i++){int temp=(tem.yu*10+d[i])%n;if(!flag[temp] && (tem.pre!=-1 || d[i]>0)){struct point st;st.now=d[i];st.yu=temp;st.pre=front;flag[temp]=1;que[rear++]=st;if(temp==0){print(rear-1);printf("\n");return 1;}}}front++;}return 0;}int main(){int i;while(scanf("%d",&n)!=EOF){scanf("%d",&m);for(i=0;i<m;i++)scanf("%d",&d[i]);qsort(d,m,sizeof(d[0]),cmp);if(n==0){printf("0\n");}else if(!bfs())printf("0\n");}}
- POJ 1465 Multiple BFS
- poj 1465 Multiple (BFS)
- POJ 1465 Multiple BFS + 余数判重
- poj 1465 Multiple (bfs+取余判重)
- POJ:1465 Multiple(bfs+剪枝)
- POJ 1465 Multiple(BFS+同余剪枝)
- POJ 1465 Multiple (BFS,同余定理)
- POJ--1465--Multiple【BFS+同余定理】
- POJ 1465/ ZOJ 1136 : Multiple - BFS,余数判重
- POJ 1465 Multiple(BFS+同于定理+打印路径)
- POJ 1465-Multiple(BFS-最小整倍数)
- POJ 1465 Multiple(BFS+同余剪枝)
- POJ 1426 Find The Multiple bfs
- POJ 1426 Fine The Multiple BFS 深搜
- poj 1426 Find The Multiple(bfs)
- Find The Multiple (poj 1426 bfs)
- poj 1426 Find The Multiple(bfs)
- POJ 1426-Find The Multiple(bfs)
- 正向代理与反向代理的区别
- 国外IT网站
- 关于年长程序员的5个误传
- 在windows7下用ruby搞oracle,悲催鸟......
- ODI安装时中文乱码的解决
- POJ 1465 Multiple BFS
- CMake 设定 GCC 警告级别
- 理解正向代理和反向代理
- c和fortran混编(基于GNU/Linux,转自 linzch)
- Heritrix使用小结
- 研发管理随笔
- Swing 之 JTable 使表头标题和表格内容居中
- 浅谈跨网站脚本攻击(XSS)的手段与防范(简析新浪微博XSS攻击事件)
- 绑定 UPX 显著减少 Qt 生成文件体积