AC是一件很美好的事情!
输入数据:
n (1≤n≤100),表示所有可选的课程数。
接下来 n行,每行有两个整数
对于每组数据,输出一行:
第一行为一个整数,表示该同学 一周最多能选的课程数。
提交过程中几个问题:
1、一个数据组处理完毕后count 和 set没有清空,导致多次WA,之后要好好在自己电脑上编译才是;
2、对于每一个数据组都重新声明一个set,后来就 Runtime Error 了..
计算某同学最多能上几节课:
贪心算法
第一行为一个整数 t (1≤t≤100),表示数据的组数。接下来对于每组数据:
第一行为一个整数n (1≤n≤100),表示所有可选的课程数。
接下来 n行,每行有两个整数
a,b (1≤a≤7,1≤b≤6),表示星期 a的第 b节有一门课可以选。
对于每组数据,输出一行:
第一行为一个整数,表示该同学 一周最多能选的课程数。
#include<iostream> #include<string> #include<set> using namespace std; const int MAX = 8; int main() { ios::sync_with_stdio(false); cin.tie(0); set<int> aSet[MAX]; int num, classNum, day, course; cin >> num; for (int i = 0; i < num; i++) { //set<int> aSet[MAX];这是犯过的错 int count = 0; cin >> classNum; for (int j = 0; j < classNum; j++) { cin >> day >> course; if (!aSet[day].count(course))//该星期对应的课程中没有冲突 { aSet[day].insert(course); count++; } } cout << count << endl; for (int i = 0; i < MAX; i++) { aSet[i].clear(); } } return 0; }
提交过程中几个问题:
1、一个数据组处理完毕后count 和 set没有清空,导致多次WA,之后要好好在自己电脑上编译才是;
2、对于每一个数据组都重新声明一个set,后来就 Runtime Error 了..