zoukankan      html  css  js  c++  java
  • B. Nezzar and Lucky Number

    B. Nezzar and Lucky Number
    time limit per test
    1 second
    memory limit per test
    512 megabytes
    input
    standard input
    output
    standard output

    Nezzar's favorite digit among 1,,91,…,9 is dd. He calls a positive integer lucky if dd occurs at least once in its decimal representation.

    Given qq integers a1,a2,,aqa1,a2,…,aq, for each 1iq1≤i≤q Nezzar would like to know if aiai can be equal to a sum of several (one or more) lucky numbers.

    Input

    The first line contains a single integer tt (1t91≤t≤9) — the number of test cases.

    The first line of each test case contains two integers qq and dd (1q1041≤q≤104, 1d91≤d≤9).

    The second line of each test case contains qq integers a1,a2,,aqa1,a2,…,aq (1ai1091≤ai≤109).

    Output

    For each integer in each test case, print "YES" in a single line if aiai can be equal to a sum of lucky numbers. Otherwise, print "NO".

    You can print letters in any case (upper or lower).

    Example
    input
    2
    3 7
    24 25 27
    10 7
    51 52 53 54 55 56 57 58 59 60
    
    output
    YES
    NO
    YES
    YES
    YES
    NO
    YES
    YES
    YES
    YES
    YES
    YES
    NO
    
    Note

    In the first test case, 24=17+724=17+7, 2727 itself is a lucky number, 2525 cannot be equal to a sum of lucky numbers.

    思路:对于任意的ai,如果ai大于等于10*d(这里有点不好判断,赛中我判断到大于100去了,就一直错),一定能拆成n*10+m*d的形式(n和m是待定系数)或一个lucky数+m*d的情况,一定有解;对于小于10*d的数,如果能拆成n*10+m*d的形式(n和m是待定系数),则有解,否则无解。

    代码:

    #include<bits/stdc++.h>
    using namespace std;
    typedef long long ll;
    const int maxn=1e4+7;
    int t,n,d,y;
    int main()
    {
        cin>>t;
        while(t--)
        {
            cin>>n>>d;
            for(int i=1;i<=n;i++)
            {
                cin>>y;
                if(y>=10*d)
                {
                    cout<<"YES"<<endl;
                }
                else
                {
                    int f=0;
                    for(int j=1;j<=10;j++)
                    {
                        int z=(j*d)%10;
                        if(z==y%10)
                        {
                            if(j*d==y)cout<<"YES"<<endl;
                            else if(y-j*d>=10)cout<<"YES"<<endl;
                            else cout<<"NO"<<endl;
                            f=1;
                            break;
                        }
                    }
                    if(!f)cout<<"NO"<<endl; 
                }
            }
        }
    }
  • 相关阅读:
    Php compiler for .NET framework
    C++ Virtual Inheritance Memory Layout
    MIT公开课汉化
    OpenGL like Vulkan
    C++ Chrono Timer
    VisTools: C++模仿Java体系
    Lua IDE
    PHP调试
    Decoda
    JSRDB
  • 原文地址:https://www.cnblogs.com/chuliyou/p/14344287.html
Copyright © 2011-2022 走看看