fork download
  1. #include <iostream>
  2. #include<queue>
  3. #include<fstream>
  4. #define ll long long
  5.  
  6. using namespace std;
  7.  
  8. inline bool f(long long int n)
  9. {
  10. while(n>0)
  11. {
  12. if((n%10!=1)&&(n%10!=0)) return 0;
  13. n/=10;
  14. }
  15. return 1;
  16. }
  17.  
  18. string s[195]={"11111111111111111100",
  19. "11110111111111111110",
  20. "111111111111111111000",
  21. "111111111111111111111111111",
  22. "10011111111111111111",
  23. "111101111111111111100",
  24. "11110111111111111110",
  25. "1111111111111111110000",
  26. "11111111111111110110",
  27. "10111111111111111110",
  28. "1111111111111111111111111110",
  29. "1001101101111111111111",
  30. "100111111111111111110",
  31. "11110111111111111011",
  32. "1111011111111111111000",
  33. "10000101011110111101111111",
  34. "11111111111111111100",
  35. "11111111111111111100",
  36. "1111110111111111111111111111",
  37. "11111011110111111111",
  38. "11111111111111111100000",
  39. "10011011111111011011",
  40. "11111111111101111110",
  41. "111111111111111101100",
  42. "101111111111111111100",
  43. "1001101101111111111111",
  44. "111111111111111111000",
  45. "11111111111111111111111111100",
  46. "110101101111111111111",
  47. "10011011011111111111110",
  48. "11011110111111111111",
  49. "1001111111111111111100",
  50. "11111111111111110110",
  51. "10111111111111111110",
  52. "111101111111111110110",
  53. "11111111011111111011",
  54. "11110111111111111110000",
  55. "100001010111101111011111110",
  56. "11111111111111111100",
  57. "11111111111110110111",
  58. "11111111111111111100",
  59. "11011111111111101111",
  60. "11111111111111110110",
  61. "100111111111111111110",
  62. "10111111111111111110",
  63. "111111111111111111000",
  64. "11011111101111111111",
  65. "11110111111111111110",
  66. "11011110111111111111",
  67. "11111101111111111111111111110",
  68. "11111111111001111111",
  69. "111110111101111111110",
  70. "1001101111111101111111",
  71. "111111111111111111000000",
  72. "11010111111111111111",
  73. "100110111111110110110",
  74. "111110011111111111110",
  75. "111111111111011111100",
  76. "110011110111111111111",
  77. "10101111111111111111111111111",
  78. "11101111111111110111",
  79. "1111111111111111011000",
  80. "10000101011111111101111011",
  81. "111101111111111111100",
  82. "11111111111111111100",
  83. "10011011011111111111110",
  84. "101111111101111111011",
  85. "1111111111111111110000",
  86. "111111111111111111111111111000",
  87. "11011111111111101111",
  88. "10111110111111111111",
  89. "11111101111111101111",
  90. "100110110111111111111100",
  91. "11111111111101111110",
  92. "110111101111111111110",
  93. "10011111111111111111000",
  94. "10010111111111111000",
  95. "1111111111111111111111110111",
  96. "11010111000110011101",
  97. "1111011111111111101100",
  98. "101111111111110101111",
  99. "111111110111111110110",
  100. "111101111111111111100000",
  101. "11111111011111111011",
  102. "11111111111101111110",
  103. "1000010101111011110111111100",
  104. "10011011111111011011",
  105. "111111111111111111111111111111111111",
  106. "10111000100001001111",
  107. "111111111111101101110",
  108. "11101101111111111111",
  109. "10011011011111111111110",
  110. "110111111111111011110",
  111. "10111111111111011111",
  112. "111111111111111101100",
  113. "110011111111011111111",
  114. "101111111111111111100",
  115. "1010101010101010101110111111111111111",
  116. "1111111111111111110000",
  117. "1010111101011111111111",
  118. "110111111011111111110",
  119. "111101111111111110110",
  120. "111101111111111111100",
  121. "1001101111111101111111",
  122. "110111101111111111110",
  123. "11110111110111111111",
  124. "1111011111111111111000",
  125. "110111011011111111111",
  126. "111111011111111111111111111100",
  127. "111111111110011111110",
  128. "110101101111111111111",
  129. "100001010111101111011111110",
  130. "1111101111011111111100",
  131. "10011011111111011111110",
  132. "101111111111010111111",
  133. "1111111111111111110000000",
  134. "110101111111111111110",
  135. "1001111011110111111111",
  136. "11111011111001111011",
  137. "11101111111111111101",
  138. "10101111111111111111111111111",
  139. "1001101111111101101100",
  140. "10000110100101011100",
  141. "1111011111111101111010",
  142. "11011101101110111001",
  143. "11111111111111110110",
  144. "1111111111110111111000",
  145. "1011000111110011111101111",
  146. "10111111111111111110",
  147. "1100111101111111111110",
  148. "111111001111110111111",
  149. "111111111111111111111",
  150. "1001011110111111111111",
  151. "101011111111111111111111111110",
  152. "111011111111111101110",
  153. "1010110111111111111101",
  154. "11111111111111110110000",
  155. "11110111111111111110",
  156. "1001111101111111101111",
  157. "100001010111111111011110110",
  158. "110110110111111111111",
  159. "111101111111111111100",
  160. "110111011011111111111",
  161. "111111111111111111000",
  162. "110111111111111110011",
  163. "1111011111011110111110",
  164. "111110111101111111110",
  165. "100110110111111111111100",
  166. "11110101111111111111",
  167. "1011111111011111110110",
  168. "11011111111111101111",
  169. "101111011111110111111",
  170. "1111111111111111111111111110000",
  171. "110111111111111011110",
  172. "11111110110111111111",
  173. "100110111111110110110",
  174. "111110011111111111110",
  175. "101111101111111111110",
  176. "111111011111111011110",
  177. "1001101101111111111111000",
  178. "10111111111111111101",
  179. "1111111111111111110111111111",
  180. "1101111011111111111100",
  181. "10000101111110111101111011",
  182. "111101011111101111111",
  183. "11110111111111111110",
  184. "11110111111111011111",
  185. "11111111111111111100",
  186. "100111111111111111110000",
  187. "101111011111011111111",
  188. "100101111111111110000",
  189. "101101111111110111111",
  190. "111111111111111101100",
  191. "11111111111111111111111101110",
  192. "110101110001100111010",
  193. "11111111111001111111",
  194. "1011111111111101011110",
  195. "11111111100000000000",
  196. "110101101111111111111",
  197. "1111111101111111101100",
  198. "1001111111111111101101",
  199. "100101111111111111111",
  200. "10111111111111101111111111111",
  201. "1111011111111111111000000",
  202. "101101111110111111111",
  203. "11011111111110111111",
  204. "10011011011111111111110",
  205. "111111111111011111100",
  206. "10110111111111111111",
  207. "10000101011110111101111111000",
  208. "100110111111110110110",
  209. "111111111111111110010",
  210. "110111101111111101111",
  211. "111101111111110111101",
  212. "1111111111111111111111111111111111110"
  213. };
  214.  
  215.  
  216. ll aa[195]={396,594,792,999,1089,1188,1485,1584,1782,1818,1998,2079,2178,2277,2376,2439,2475,2772,2997,3069,3168,3257,3366,3564,3636,3861,3960,3996,4059,4158,4257,4356,4455,4545,4554,4653,4752,4878,4950,5049,5148,5247,5346,5445,5454,5544,5643,5742,5841,5994,6039,6138,6237,6336,6363,6514,6534,6732,6831,6993,7029,7128,7317,7425,7524,7722,7821,7920,7992,8019,8181,8217,8316,8415,8514,8712,8792,8991,8999,9108,9207,9306,9504,9603,9702,9756,9771,9999,10009,10098,10197,10395,10494,10593,10692,10791,10908,10989,11088,11187,11286,11385,11484,11583,11682,11817,11880,11979,11988,12078,12177,12195,12276,12474,12573,12672,12726,12771,12857,12969,12987,13028,13188,13266,13351,13365,13464,13563,13635,13662,13761,13947,13959,13986,14058,14157,14256,14355,14553,14634,14751,14850,14949,15048,15147,15246,15345,15444,15453,15642,15741,15939,15984,16038,16137,16285,16335,16362,16434,16632,16731,16983,17028,17073,17127,17226,17271,17325,17424,17523,17584,17721,17820,17982,17998,18117,18414,18432,18513,18612,18711,18909,18981,19008,19089,19107,19305,19404,19503,19512,19542,19602,19701,19899,19998};
  217.  
  218.  
  219. int main()
  220. {
  221. int t;
  222. cin>>t;
  223. while(t--){
  224. long long n;
  225. cin>>n;
  226. long long m=1;
  227. queue<ll> q;
  228. bool flag=0;
  229. for(ll i=0;i<195;i++)
  230. if(aa[i]==n){
  231. cout<<s[i]<<endl;
  232. flag=1;
  233. break;
  234. }
  235. if(flag==1)
  236. continue;
  237. if(f(n))
  238. cout<<n<<endl;
  239. else{
  240. q.push(10);
  241. q.push(11);
  242. while(true)
  243. {
  244. ll x=q.front();
  245. if(x%n==0)
  246. {
  247. cout<<x<<endl;
  248. break;
  249. }
  250. q.push(x*10);
  251. q.push(x*10+1);
  252. q.pop();
  253. }
  254. }
  255. }
  256. return 0;
  257. }
  258.  
Success #stdin #stdout 0.01s 5320KB
stdin
195
396
594
792
999
1089
1188
1485
1584
1782
1818
1998
2079
2178
2277
2376
2439
2475
2772
2997
3069
3168
3257
3366
3564
3636
3861
3960
3996
4059
4158
4257
4356
4455
4545
4554
4653
4752
4878
4950
5049
5148
5247
5346
5445
5454
5544
5643
5742
5841
5994
6039
6138
6237
6336
6363
6514
6534
6732
6831
6993
7029
7128
7317
7425
7524
7722
7821
7920
7992
8019
8181
8217
8316
8415
8514
8712
8792
8991
8999
9108
9207
9306
9504
9603
9702
9756
9771
9999
10009
10098
10197
10395
10494
10593
10692
10791
10908
10989
11088
11187
11286
11385
11484
11583
11682
11817
11880
11979
11988
12078
12177
12195
12276
12474
12573
12672
12726
12771
12857
12969
12987
13028
13188
13266
13351
13365
13464
13563
13635
13662
13761
13947
13959
13986
14058
14157
14256
14355
14553
14634
14751
14850
14949
15048
15147
15246
15345
15444
15453
15642
15741
15939
15984
16038
16137
16285
16335
16362
16434
16632
16731
16983
17028
17073
17127
17226
17271
17325
17424
17523
17584
17721
17820
17982
17998
18117
18414
18432
18513
18612
18711
18909
18981
19008
19089
19107
19305
19404
19503
19512
19542
19602
19701
19899
19998
stdout
11111111111111111100
11110111111111111110
111111111111111111000
111111111111111111111111111
10011111111111111111
111101111111111111100
11110111111111111110
1111111111111111110000
11111111111111110110
10111111111111111110
1111111111111111111111111110
1001101101111111111111
100111111111111111110
11110111111111111011
1111011111111111111000
10000101011110111101111111
11111111111111111100
11111111111111111100
1111110111111111111111111111
11111011110111111111
11111111111111111100000
10011011111111011011
11111111111101111110
111111111111111101100
101111111111111111100
1001101101111111111111
111111111111111111000
11111111111111111111111111100
110101101111111111111
10011011011111111111110
11011110111111111111
1001111111111111111100
11111111111111110110
10111111111111111110
111101111111111110110
11111111011111111011
11110111111111111110000
100001010111101111011111110
11111111111111111100
11111111111110110111
11111111111111111100
11011111111111101111
11111111111111110110
100111111111111111110
10111111111111111110
111111111111111111000
11011111101111111111
11110111111111111110
11011110111111111111
11111101111111111111111111110
11111111111001111111
111110111101111111110
1001101111111101111111
111111111111111111000000
11010111111111111111
100110111111110110110
111110011111111111110
111111111111011111100
110011110111111111111
10101111111111111111111111111
11101111111111110111
1111111111111111011000
10000101011111111101111011
111101111111111111100
11111111111111111100
10011011011111111111110
101111111101111111011
1111111111111111110000
111111111111111111111111111000
11011111111111101111
10111110111111111111
11111101111111101111
100110110111111111111100
11111111111101111110
110111101111111111110
10011111111111111111000
10010111111111111000
1111111111111111111111110111
11010111000110011101
1111011111111111101100
101111111111110101111
111111110111111110110
111101111111111111100000
11111111011111111011
11111111111101111110
1000010101111011110111111100
10011011111111011011
111111111111111111111111111111111111
10111000100001001111
111111111111101101110
11101101111111111111
10011011011111111111110
110111111111111011110
10111111111111011111
111111111111111101100
110011111111011111111
101111111111111111100
1010101010101010101110111111111111111
1111111111111111110000
1010111101011111111111
110111111011111111110
111101111111111110110
111101111111111111100
1001101111111101111111
110111101111111111110
11110111110111111111
1111011111111111111000
110111011011111111111
111111011111111111111111111100
111111111110011111110
110101101111111111111
100001010111101111011111110
1111101111011111111100
10011011111111011111110
101111111111010111111
1111111111111111110000000
110101111111111111110
1001111011110111111111
11111011111001111011
11101111111111111101
10101111111111111111111111111
1001101111111101101100
10000110100101011100
1111011111111101111010
11011101101110111001
11111111111111110110
1111111111110111111000
1011000111110011111101111
10111111111111111110
1100111101111111111110
111111001111110111111
111111111111111111111
1001011110111111111111
101011111111111111111111111110
111011111111111101110
1010110111111111111101
11111111111111110110000
11110111111111111110
1001111101111111101111
100001010111111111011110110
110110110111111111111
111101111111111111100
110111011011111111111
111111111111111111000
110111111111111110011
1111011111011110111110
111110111101111111110
100110110111111111111100
11110101111111111111
1011111111011111110110
11011111111111101111
101111011111110111111
1111111111111111111111111110000
110111111111111011110
11111110110111111111
100110111111110110110
111110011111111111110
101111101111111111110
111111011111111011110
1001101101111111111111000
10111111111111111101
1111111111111111110111111111
1101111011111111111100
10000101111110111101111011
111101011111101111111
11110111111111111110
11110111111111011111
11111111111111111100
100111111111111111110000
101111011111011111111
100101111111111110000
101101111111110111111
111111111111111101100
11111111111111111111111101110
110101110001100111010
11111111111001111111
1011111111111101011110
11111111100000000000
110101101111111111111
1111111101111111101100
1001111111111111101101
100101111111111111111
10111111111111101111111111111
1111011111111111111000000
101101111110111111111
11011111111110111111
10011011011111111111110
111111111111011111100
10110111111111111111
10000101011110111101111111000
100110111111110110110
111111111111111110010
110111101111111101111
111101111111110111101
1111111111111111111111111111111111110