• E Easy problem


    链接:https://ac.nowcoder.com/acm/contest/338/E
    来源:牛客网

    Zghh likes number, but he doesn't like writing problem description. So he will just give you a problem instead of telling a long story for it.
    Now given a positive integer x and k digits a1,a2,...,ak, can you find a positive integer y such that y is the multiple of x and in decimal representation y contains all digits of a1,a2,...,ak.

    输入描述:

    The first line contains an integer T (1<=T<=10000) which is the number of test case.The following T lines each line is a test case, start with two integer x (1<=x<=1e8) and k (1<=k<=10), k integer a1,a2,..,ak (0<=ai<=9 for i=1..k and ai!=aj for i!=j) is following.

    输出描述:

    For each test case output your answer y. Your answer should be a positive integer without leading zero and should be no more than 1e18. Every answer that satisfy the conditions descripted above will be accepted.
    示例1

    输入

    复制
    3
    5 3 1 5 7
    21 4 2 5 6 9
    10 9 0 1 2 3 4 5 6 7 9

    输出

    复制
    175
    2592576
    976543210

    说明

    175 is the multiple of 5 and contains 1,5,7

    2592576 is the multiple of 21 and contains 2,5,6,9

    976543210 is the multiple of 10 and contains 0,1,2,3,4,5,6,7,9

    备注:

    Constraint of data

    1<=T<=10000

    1<=x<=1e8

    1<=k<=10

    0<=ai<=9,for i=1..k

    ai!=aj for i!=j

    your answer y should satisfy y <= 1e18

    读懂题
    题意• 
    找一个数(<=1e18),包含a1,a2,…,ak且是x的倍数。(0<=ai<=9,x<=1e8)
    题解• 
    令N=1023456789000000001) N%x==0 , ans = N
    • 2) N%x!=0, ans = N+(x-N%x)
    • 那么显然对于x<=1e8, ans包含0到9且ans是x的倍
    
    
    
     
    #include <stdio.h>
    
    long long n = 123456789000000000LL;
    
    
    int main()
    {
        int T,k,t,r;
        char buf[111];
        scanf("%d",&T);
        getchar();
        while(fgets(buf,100,stdin))
        {
            sscanf(buf,"%d",&k);
            r = n % k;
            t = k - r;
            printf("%lld
    ",n+t);
        }
        return 0;
    }
    View Code
    #include <cstdio>
    #include <cstdlib>
    #include <cstring>
    #include <cmath>
    #include <cfloat>
    #include <climits>
    #include <iostream>
    #include <string>
    #include <vector>
    #include <list>
    #include <queue>
    #include <stack>
    #include <map>
    #include <set>
    #include <algorithm>
    #include <bitset>
    using namespace std;
    
    #define LL long long
    const int maxn = 20;
    int T;
    LL x, k, ans;
    int num[maxn];
    
    int main()
    {
    #ifdef Dmaxiya
        freopen("test.txt", "r", stdin);
    #endif // Dmaxiya
        ios::sync_with_stdio(false);
    
        scanf("%d", &T);
        while(T--)
        {
            ans = 987654321000000000LL;
            scanf("%lld%lld", &x, &k);
            for(int i = 0; i < k; ++i)
            {
                scanf("%d", &num[i]);
            }
            printf("%lld
    ", ans + (x - ans % x));
        }
    
        return 0;
    }
    View Code
  • 相关阅读:
    Android ELF文件格式
    AWS发布架构师认证的专业解决方案
    python django模型内部类meta详细解释
    SQL_substr功能测试
    猫学习IOS(四)UI半小时就搞定Tom猫
    使用jquery点击一个实现button或连接,进行以下div显示,在点击隐藏
    hdu2852--KiKi&#39;s K-Number(段树,求第一k的数量)
    信息安全官谁:逼近的挑战,你准备好了吗?
    VS2010使整个过程说明了安装包
    进程的创建与可执行程序的加载
  • 原文地址:https://www.cnblogs.com/DWVictor/p/10229997.html
Copyright © 2020-2023  润新知