主要还是看懂题意。
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; }