• [BZOJ2296] [POJ Challenge] 随机种子


    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程序

    Solution

      设$a = 1234567890000000 + x$,那么(a - a % x)一定是x的倍数。(嗯好像有一个小细节......)

     1 #include <bits/stdc++.h>
     2 using namespace std;
     3 int main()
     4 {
     5     long long t, x, a;
     6     cin >> t;
     7     while(t--)
     8     {
     9         cin >> x;
    10         a = 1234567890000000LL + x;
    11         cout << (x ? a - a % x : -1) << endl;
    12     }
    13     return 0;
    14 }
    View Code
  • 相关阅读:
    剑指63.数据流中的中位数
    剑指62.二叉搜索树的第k个结点
    JPA ---- EntityManager使用
    JPA ---- EntityManager介绍
    win10多桌面切换
    $emit子组件如何传递多个参数
    height高度自适应
    vue Avoided redundant navigation to current location
    Ant Design 使用小结
    Object.keys方法之详解
  • 原文地址:https://www.cnblogs.com/CtrlCV/p/5430359.html
Copyright © 2020-2023  润新知