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; 
            }
        }
    }
}
原文地址:https://www.cnblogs.com/chuliyou/p/14344287.html