题意分析:
3 2 //3-所选的所有课程(k) 2-所选的课程目录(m)
0123 9876 2222 //所选的课程编号
2 1 8888 2222 //2-课程目录编号(c) 1-该目录下,最少选择课程(r)
3 2 9876 2222 7654 //同上
解题方法:
简单模拟
解题代码:
#include<iostream> #include<string> using namespace std; string courses[100]; int main(int argc, char *argv[]){ int k; while(cin>>k,k){ int m; cin>>m; bool passFlag=true; for(int i=0;i<k;i++){ cin>>courses[i]; } for(int i=0;i<m;i++){ int c,r; cin>>c>>r; int passCnt=0; for(int j=0;j<c;j++){ string course; cin>>course; for(int m=0;m<k;m++){ if(course==courses[m]){ passCnt++; break; } } } if(passCnt<r){ passFlag=false; } } if(passFlag){ cout<<"yes"<<endl; }else{ cout<<"no"<<endl; } } return 0; }