基础题。将选择的课程存入数组中,查找每类课程中被选择的课程数量是否满足要求,所有种类的课程都满足要求时,输出"yes",否则输出"no"。
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
const int MAXN = 105;
int main()
{
int k, m;
string select[MAXN]; //选择的课程
while (cin >> k)
{
if (k == 0)
break;
cin >> m;
for (int i = 0; i < k; i++)
{
cin >> select[i];
}
int c, r;
string course;
int sum; //每类课程中被选择课程的数量
bool flag = true;
for (int i = 0; i < m; i++)
{
cin >> c >> r;
sum = 0;
for (int j = 0; j < c; j++)
{
cin >> course;
//如果当前课程被选中
if (find(select, select + k, course) != select + k)
++sum;
}
if (sum < r)
flag = false;
}
if (flag)
cout << "yes" << endl;
else
cout << "no" << endl;
}
return 0;
}
继续加油。
来源:CSDN
作者:Intelligence1028
链接:https://blog.csdn.net/Intelligence1028/article/details/104430388