BZOJ2296: 【POJ Challenge】随机种子

2296: 【POJ Challenge】随机种子

Time Limit: 1 Sec  Memory Limit: 128 MBSec  Special Judge
Submit: 114  Solved: 54
[Submit][Status]

Description

1tthinking除了随机算法,其他什么都不会。但是他还是可以ac很多题目,他用的是什么呢?他会选择一个好的随机种子,然后输出答案。往往他选择的一个好的种子可以有99%的概率ac题目。

他会按照下面的规则选择一个种子。首先1tthinking有自己喜欢的一个幸运数字 x。然后他会找一个数字 a 使得 (1)a is a 是 x 的倍数 (2) a 的十进制表示包含0到9。

举个例子, 如果 x = 1, 那么 9182736450 就是一个1tthinking需要的随机种子。

然而1tthinking有的时候花了很久也找不到这个数,他感到很失望。现在他把问题留给了你。

Input

第1行,一个整数 T (0 ≤ T ≤ 100), 幸运数字的数量。

第2到 T + 1行: Xi (0 ≤ Xi ≤ 106), 1tthinking的幸运数字。

Output

第1到 T: 一个整数 Yi (0 ≤ Yi ≤ 1016), 满足条件的随机种子. 如果不存在,输出-1。

Sample Input

3
1
2
10

Sample Output

9876543210
9876543210
9876543210

HINT

Source

鸣谢 dnc1994提供spj程序

题解:
500T做了这么一道逗逼题。。。
10+6=16。。。
所以我们从1234567890-000000开始枚举,到达1234567890-999999一定有被x整除的数,因为x<=100W
注意0输出-1
代码:

 1 #include<cstdio>
 2
 3 #include<cstdlib>
 4
 5 #include<cmath>
 6
 7 #include<cstring>
 8
 9 #include<algorithm>
10
11 #include<iostream>
12
13 #include<vector>
14
15 #include<map>
16
17 #include<set>
18
19 #include<queue>
20
21 #include<string>
22
23 #define inf 1000000000
24
25 #define maxn 100000
26
27 #define maxm 500+100
28
29 #define eps 1e-10
30
31 #define ll long long
32
33 #define pa pair<int,int>
34
35 #define for0(i,n) for(int i=0;i<=(n);i++)
36
37 #define for1(i,n) for(int i=1;i<=(n);i++)
38
39 #define for2(i,x,y) for(int i=(x);i<=(y);i++)
40
41 #define for3(i,x,y) for(int i=(x);i>=(y);i--)
42
43 #define mod 1000000007
44
45 using namespace std;
46
47 inline int read()
48
49 {
50
51     int x=0,f=1;char ch=getchar();
52
53     while(ch<‘0‘||ch>‘9‘){if(ch==‘-‘)f=-1;ch=getchar();}
54
55     while(ch>=‘0‘&&ch<=‘9‘){x=10*x+ch-‘0‘;ch=getchar();}
56
57     return x*f;
58
59 }
60
61 int main()
62
63 {
64
65     freopen("input.txt","r",stdin);
66
67     freopen("output.txt","w",stdout);
68
69     int n=read();
70     while(n--)
71     {
72         ll x=read();ll i;
73         if(!x){printf("%d\n",-1);continue;}
74         for(i=1234567890000000ll;i%x;i++);
75         printf("%lld\n",i);
76     }
77
78     return 0;
79
80 } 

时间: 2024-10-29 03:19:09

BZOJ2296: 【POJ Challenge】随机种子的相关文章

[BZOJ2296] [POJ Challenge] 随机种子

Description 1tthinking除了随机算法,其他什么都不会.但是他还是可以ac很多题目,他用的是什么呢?他会选择一个好的随机种子,然后输出答案.往往他选择的一个好的种子可以有99%的概率ac题目. 他会按照下面的规则选择一个种子.首先1tthinking有自己喜欢的一个幸运数字 x.然后他会找一个数字 a 使得 (1)a is a 是 x 的倍数 (2) a 的十进制表示包含0到9. 举个例子, 如果 x = 1, 那么 9182736450 就是一个1tthinking需要的随机

BZOJ2293: 【POJ Challenge】吉他英雄

2293: [POJ Challenge]吉他英雄 Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 80  Solved: 59[Submit][Status] Description 1tthinking 特别喜欢玩‘guitar hero’. 现在有 N (2 ≤ N ≤ 50) 首歌在这个游戏中,他们被标为 1 到 N. 游戏会随机把歌曲分组 P. 更详细的说, 对于 P = <P1, P2, ... PN>, 游戏会在第 i 首之后播放第

java中Random随机种子使用

在java中,通过Random生成随机数时,如果设置随机种子,则相同的种子,产生的随机数相同.若不设置则每次随机的不同. Random rnd = new Random(); rnd.setSeed(10);//用于设置种子. rnd.nextInt();// 用于产生随机数. rnd.nextInt(10); // 产生(0-9)数字.

不要随便设置随机种子

随机数在太多的地方使用了,比如加密.混淆数据等,我们使用随机数是期望获得一个唯一的.不可仿造的数字,以避免产生相同的业务数据造成混乱.在Java项目中通常是通过Math.random方法和Random类来获得随机数的,我们来看一段代码: public class Client { public static void main(String[] args) { Random r = new Random(); for(int i=1;i<4;i++){ System.out.println(&quo

2292: 【POJ Challenge 】永远挑战

2292: [POJ Challenge ]永远挑战 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 553  Solved: 230[Submit][Status][Discuss] Description lqp18_31和1tthinking经常出题来虐ftiasch.有一天, lqp18_31搞了一个有向图,每条边的长度都是1. 他想让ftiasch求出点1到点 N 的最短路."水题啊.", ftiasch这么说道. 所以1tth

BZOJ2288: 【POJ Challenge】生日礼物

2288: [POJ Challenge]生日礼物 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 771  Solved: 238[Submit][Status][Discuss] Description ftiasch 18岁生日的时候,lqp18_31给她看了一个神奇的序列 A1, A2, ..., AN. 她被允许选择不超过 M 个连续的部分作为自己的生日礼物. 自然地,ftiasch想要知道选择元素之和的最大值.你能帮助她吗? Input

bzoj2287【POJ Challenge】消失之物(dp+补集转化,好题)

2287: [POJ Challenge]消失之物 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 657  Solved: 382[Submit][Status][Discuss] Description ftiasch 有 N 个物品, 体积分别是 W1, W2, ..., WN. 由于她的疏忽, 第 i 个物品丢失了. “要使用剩下的 N - 1 物品装满容积为 x 的背包,有几种方法呢?” -- 这是经典的问题了.她把答案记为 Count(

【BZOJ 2288】 2288: 【POJ Challenge】生日礼物 (贪心+优先队列+双向链表)

2288: [POJ Challenge]生日礼物 Description ftiasch 18岁生日的时候,lqp18_31给她看了一个神奇的序列 A1, A2, ..., AN. 她被允许选择不超过 M 个连续的部分作为自己的生日礼物. 自然地,ftiasch想要知道选择元素之和的最大值.你能帮助她吗? Input 第1行,两个整数 N (1 ≤ N ≤ 105) 和 M (0 ≤ M ≤ 105), 序列的长度和可以选择的部分. 第2行, N 个整数 A1, A2, ..., AN (0

BZOJ2295: 【POJ Challenge】我爱你啊

2295: [POJ Challenge]我爱你啊 Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 126  Solved: 90[Submit][Status] Description ftiasch是个十分受女生欢迎的同学,所以她总是收到许多情书.虽然她十分有魅力,然而她却是个低调的人.因此她从来不会告诉别人她到底收到了多少情书. ftiasch的好朋友1tthinking想知道她到底收到了多少情书.1tthinking知道,ftiasch每次收