题意
思路
水
代码
#include <iostream>
using namespace std;
int isLegal(int choosedClasses[],int choosedlength,int needChoose[],int needLength,int needleast){
int legalChoosed=0;
for(int i=0;i<needLength;i++) {
for(int j=0;j<choosedlength;j++){
if(needChoose[i]==choosedClasses[j]){
legalChoosed++;
}
}
}
if(legalChoosed>=needleast){
return 1;
}else{
return 0;
}
}
int main(int argc, char *argv[])
{
int k,m;
while(cin>>k&&k!=0){
cin>>m;
int choosedClasses[k],legalClasses=0;
for(int i=0;i<k;i++){
cin>>choosedClasses[i];
}
for(int i=0;i<m;i++){
int c,r;
cin>>c>>r;
int needChoose[c];
for(int j=0;j<c;j++){
cin>>needChoose[j];
}
if(isLegal(choosedClasses,k,needChoose,c,r)){
legalClasses++;
}
}
if(legalClasses==m){
cout<<"yes"<<endl;
} else{
cout<<"no"<<endl;
}
}
return 0;
}