欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

杭电OJ 1144(C++)

程序员文章站 2022-07-13 17:57:29
...

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

继续加油。

相关标签: 杭电OJ 杭电OJ