杭电OJ 1144(C++)

浪子不回头ぞ 提交于 2020-02-21 22:28:14

基础题。将选择的课程存入数组中,查找每类课程中被选择的课程数量是否满足要求,所有种类的课程都满足要求时,输出"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;
}

继续加油。

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!