bzoj 2296: 【POJ Challenge】随机种子
1tthinking除了隨機算法,其他什么都不會。但是他還是可以ac很多題目,他用的是什么呢?他會選擇一個好的隨機種子,然后輸出答案。往往他選擇的一個好的種子可以有99%的概率ac題目。
他會按照下面的規(guī)則選擇一個種子。首先1tthinking有自己喜歡的一個幸運數(shù)字?x。然后他會找一個數(shù)字?a?使得 (1)a?is a 是?x?的倍數(shù) (2)?a?的十進制表示包含0到9。
舉個例子, 如果?x?= 1, 那么 9182736450 就是一個1tthinking需要的隨機種子。
然而1tthinking有的時候花了很久也找不到這個數(shù),他感到很失望。現(xiàn)在他把問題留給了你。
Input
第1行,一個整數(shù)?T?(0 ≤?T?≤ 100), 幸運數(shù)字的數(shù)量。
第2到?T?+ 1行:?Xi?(0 ≤?Xi?≤ 106), 1tthinking的幸運數(shù)字。
Output
第1到?T: 一個整數(shù)?Yi?(0 ≤?Yi?≤ 1016), 滿足條件的隨機種子. 如果不存在,輸出-1。
Sample Input
31
2
10
Sample Output
98765432109876543210
9876543210
---------
解:亂搞;(???數(shù)論)
做法是取n=1234567890 000000+x-1234567890 000000%x;
對x=0特判-1即可。
#include<cstdio> #include<cstring> #define ll long long const ll ans=1234567890000000; int main() {int t;scanf("%d",&t);while(t--){int x;scanf("%d",&x);if(x) printf("%lld\n",ans+x-(ans%x));else if(!x) printf("-1\n");}return 0; }?
轉(zhuǎn)載于:https://www.cnblogs.com/12fs/p/7642697.html
總結(jié)
以上是生活随笔為你收集整理的bzoj 2296: 【POJ Challenge】随机种子的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 孕妇梦到一连掉了好几颗牙
- 下一篇: 梦到死去的爷爷预示着什么