问题标题: 酷町堂:3963 数字组成判别

0
0
已解决
汪恺恒
汪恺恒
中级启示者
中级启示者

题目描述 Description

现在给出n(n≤9)个不同的1~9范围内的数字,以及一个整数x。试判断是否整数x中每一位都取自这n个数字。

输入描述 Input Description

第一行,一个整数,T,表示T组输入数据
每组测试数据首先包含两个整数,n x,分别表示不同的数字个数和要判断的数字
接下来一行n个整数,每个整数在1~9之间

输出描述 Output Description

对于每组测试数据,如果能够完全由给出的组成,则输出"yes";否则输出"no"

 

WA0

#include<bits/stdc++.h>
#pragma GCC optimize(3)
using namespace std;
int n,x,t,a[15];
bool check(int x){
	for(int i=1;i<=n;i++){
		if(x==a[i]) return true;
	}
	return false;
}
int main(){
	cin>>t;
	while(t--){
		bool f=0;
		cin>>n>>x;
		for(int i=1;i<=n;i++){
			cin>>a[i];
		}
		while(x){
			if(!check(x%10)){
				cout<<"no\n";
				f=1;
			}
			x/=10;
		}
		if(f==0) cout<<"yes\n";
	}
	return 0;
}

 

汪恺恒在2021-03-09 18:31:26追加了内容

d


0
已采纳
张帆
张帆
中级天翼
中级天翼
if(!check(x%10)){
     cout<<"no\n";
     f=1;
     break;//这break要是不加,你这道题如果有两个及以上不符合条件的数位,就会输出多个no
}

 

0
0
我要回答