poj 1465 求一个数的最小倍数满足一个条件
来源:互联网 发布:mac修改淘宝登录密码 编辑:程序博客网 时间:2024/06/11 17:30
#include<cstdio>#include<cstring>#include<algorithm> using namespace std;bool vis[5050];int d[11],n,m;struct node{int d;int r;int pre;}q[5050];int bfs(){memset(vis,0,sizeof(vis));q[0].d=0;q[0].r=0;q[0].pre=-1;int l=0,r=1;while(l<r){node t=q[l];int nr=q[l].r;for(int i=0;i<m;i++){int tr=(nr*10+d[i])%n;if(!vis[tr]&&(t.pre!=-1||d[i]!=0)){vis[tr]=1;t.r=tr;t.d=d[i];t.pre=l;q[r++]=t;if(tr==0)return r-1;} }l++;}return -1;}void solve(int x){if(x>0){solve(q[x].pre);printf("%d",q[x].d);}}int main(){while(~scanf("%d",&n)){scanf("%d",&m);for(int i=0;i<m;i++) scanf("%d",&d[i]);sort(d,d+m);if(n==0){printf("0\n");continue;}int res=bfs();if(res==-1)printf("0\n");else{solve(res);printf("\n"); }}}
阅读全文
0 0
- poj 1465 求一个数的最小倍数满足一个条件
- zoj3596 求一个数N的最小的一个倍数中包含M个不同的数字
- 满足条件的最小组合数m
- 多种排列方式满足条件,输出按照名字排列字典序最小的一个
- 将一个数转成8的倍数
- 实现一个数变成基数的倍数
- 求一个数组中满足一定条件的两个元素的最大差值
- 一个数被3除余2,被5除余3,被7除余2,求满足条件的前N个数
- 一个数被3除余2,被5除余3,被7除余2,求满足条件的前N个数
- 求大于一个数的最小对称数
- 小C的倍数问题--求一个数的因子(java)
- 求21位所有满足条件的花朵数。
- HDU-A Mathematical Curiosity-求满足条件的数对数
- 求满足条件n!<40000的最大数n
- POJ-2739 Sum of Consecutive Prime Numbers-求一个数满足有多少组递增相加的素数等于该数
- POJ 1465 Multiple(用BFS求能组成的n的最小倍数)
- 求满足条件的序列
- 求满足条件的和
- poj 1716 Integer Intervals
- Windows和Mac OS下清除登录共享网络、共享文件的密码
- 点滴记录:大量数据时,系统性能的优化
- win32汇编环境搭建以及第一个程序
- java8系列之重新认识hasMap
- poj 1465 求一个数的最小倍数满足一个条件
- 背包算法
- mac 下运行 android 配置
- Zookeeper学习笔记 --- Zookeeper调研报告3
- Oracle OEM 配置
- SQL基础入门学习(2)
- 母鸡下蛋
- BootstrapValidator 解决多属性被同时校验问题
- 01字典树模板