主要还是看懂题意。
3 2 //选择了3科,两个类别 0123 9876 2222 //选择的3科科目号 2 1 8888 2222 //2表示在这个类别里共有两科8888和2222,最少要选择一个 3 2 9876 2222 7654 //含义同上。
<pre name="code" class="cpp">#include<iostream>
using namespace std;
int k,m,c,r;
int a[100];
int b[100];
int main()
{
while(1)
{
int flag = 0;
cin>>k;
if(k == 0) break;
cin>>m;
for(int i = 0;i<k;i++)
cin>>a[i];
while(m--)
{
int count = 0;
cin>>c>>r;
for(int i = 0;i<c;i++)
cin>>b[i];
for(int i = 0;i<k;i++)
{
for(int j = 0;j<c;j++)
{
if(a[i] == b[j])
count++;
}
}
if(count < r)
{
flag = 1;
}
}
if(flag)
cout<<"no"<<endl;
else
cout<<"yes"<<endl;
}
return 0;
}
124

被折叠的 条评论
为什么被折叠?



