湖南大学第十四届ACM新生赛--E---Easy problem

Easy problem

TimeLimit:C/C++ 1S,JAVA:2S
MemoryLimit:C/C++ 32.000MB,JAVA:64.000MB

题目描述
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.

示例输入
3
5 3 1 5 7
21 4 2 5 6 9
10 8 0 1 2 3 4 5 6 7 9
输出
175
2592576
976543210

解:

题意为要找出一个数,既是x的倍数,同时又含有a1,a2……ak,这些数字,如果粗暴地来,按顺序依次检验x的倍数是否含有目标数字,肯定超时,需要改进思路。
而由于本题Special Judge可以有多个正确的解,我们只需要找一个很大很特殊的数,同时含有1,2,3,4,5,6,7,8,9,0中的所有数字,再根据x适当调整成他的倍数,而不影响数字的组成,就可以得到想要的“通解”

#include
#include
#include
#include
using namespace std;
int main()
{
	long long m,n,i,j,k,p,t,y,chang,ge;
	int a[11],x;
	scanf("%lld",&t);
	
	for(p=0;p

你可能感兴趣的:(萌新笔记)