基准时间限制:1 秒 空间限制:131072 KB 
给定一个自然数N,找出一个M,使得M > 0且M是N的倍数,并且M的10进制表示只包含0或1。求最小的M。

 
例如:N = 4,M = 100。
Input
输入1个数N。(1 <= N <= 10^6)
Output
输出符合条件的最小的M。
Input示例
4
Output示例
100
http://www.cnblogs.com/zzuli2sjy/p/5731745.html一样;
  1 #include <cstdio>
2 #include <cstdlib>
3 #include <cstring>
4 #include <cmath>
5 #include <iostream>
6 #include <algorithm>
7 #include <map>
8 #include <queue>
9 #include <vector>
10 #include<set>
11 using namespace std;
12 typedef long long LL;
13 bool flag[6000000];
14 int ans[20];
15 set<int>que;
16 set<int>::iterator it;
17 typedef struct pp
18 {
19 int mod;
20 int id;
21 int pre;
22 int digit;
23 pp()
24 {
25 pre=-1;
26 }
27 } ss;
28 ss bns[1000000];
29 int ask[1000000];
30 int cp[2000000];
31 int bfs(int n,int m);
32 int main(void)
33 {
34 int i,j,k;
35 while(scanf("%d",&k)!=EOF)
36 {
37 int n;
38 int m;
39 que.clear();
40 cp[0] = 0;cp [1] = 1;
41 n = 2;
42 ans[0]=cp[0];
43 int uu=cp[0];
44 int t=1;
45 for(i=1;i<n;i++)
46 {
47 if(cp[i]!=uu)
48 {
49 ans[t++]=cp[i];
50 uu=cp[i];
51 }
52 }
53
54 if(k==0)printf("0\n");
55 else
56 {
57 int sum=0;
58 int id=bfs(t,k);
59 if(id==-1)
60 {
61 printf("0\n");
62 }
63 else
64 {
65 while(id!=-1)
66 {
67 ask[sum++]=bns[id].digit;
68 id=bns[id].pre;
69 }
70 for(i=sum-1; i>=0; i--)
71 {
72 printf("%d",ask[i]);
73 }
74 printf("\n");
75 }
76 }
77 }
78 return 0;
79 }
80 int bfs(int n,int m)
81 {
82 int i,j,k;
83 int kk=0;
84 memset(flag,0,sizeof(flag));
85 queue<ss>stc;
86 for(i=0; i<n; i++)
87 {
88 int mod=ans[i]%m;
89 if(!flag[mod]&&ans[i]!=0)
90 {
91 flag[mod]=true;
92 bns[kk].id=kk;
93 bns[kk].mod=mod;
94 bns[kk].pre=-1;
95 bns[kk].digit=ans[i];
96 stc.push(bns[kk]);
97 kk++;
98 }
99 }
100 while(!stc.empty())
101 {
102 ss tt=stc.front();
103 stc.pop();
104 for(i=0; i<n; i++)
105 {
106 int mod=(tt.mod*10+ans[i])%m;
107 if(!flag[mod])
108 {
109 bns[kk].id=kk;
110 bns[kk].pre=tt.id;
111 bns[kk].mod=mod;
112 bns[kk].digit=ans[i];
113 if(mod==0)
114 {
115 return kk;
116 }
117 stc.push(bns[kk]);
118 kk++;
119 flag[mod]=true;
120 }
121 }
122 }
123 return -1;
124 }

最新文章

  1. IIS下Asp.Net应用程序多进程设置及Session共享
  2. 整理mac上的php环境
  3. 数据结构与算法分析 - 最短路(Dijkstra+floyd_Warshall+bellman_ford)
  4. ZOJ 2588 Burning Bridges (tarjan求割边)
  5. 黑盒测试用例设计方法&amp;理论结合实际 -&gt; 等价类划分
  6. vector::erase returns incompatible iterator in debug build
  7. ionic 最简单的路由形式,头部固定,下面tab切换-------一个简单的单页切换起飞了
  8. DDOS和cc攻击的防御
  9. Diffie-Hellman密钥协商算法
  10. 【CF891C】Envy(最小生成树)
  11. window 控制台解决中文乱码
  12. node.js打印function
  13. P4316 绿豆蛙的归宿(期望)
  14. postgresql-递增uuid优点
  15. Git 使用规范流程【转】
  16. jQuery 1
  17. C# ListView用法
  18. 51nod 1202 子序列个数
  19. 关于CentOS 7 下的Oracle11g的proc编译器的一些常见问题
  20. Netty源码分析第2章(NioEventLoop)----&gt;第4节: NioEventLoop线程的启动

热门文章

  1. kubernetes部署kube-scheduler服务
  2. C/C++ Qt StatusBar 底部状态栏应用
  3. 学习java 7.23
  4. 关于learning Spark中文版翻译
  5. 零基础学习java------35---------删除一个商品案例,删除多个商品,编辑(修改商品信息),校验用户名是否已经注册(ajax)
  6. 零基础学习java------day8------javabean编写规范,继承,static关键字,代码块,单例设计模式
  7. 使用WtmPlus低代码平台提高生产力
  8. 面试一定会问到的-js事件循环
  9. Android 百度地图用法
  10. Android Bitmap 全面解析(一)加载大尺寸图片