T318306 上课
题目描述:
新学期开始了,白兔需要选择课程。学校一共开设了n门课程,每门课程有m[i]个教学班。每个教学班会选择k[i]个时间段上课。白兔选择一门课程后,可以在这m[i]个教学班中任选一个,但是必须参加这个教学班的所有时间段。现在,你需要帮助白兔求出,他选的课程占用的时间段总数的最大值。
输入格式:
第一行一个整数n,表示学校开设的课程数量。
接下来n行,每行先输入两个整数m[i]和k[i],表示第i门课程有m[i]个教学班,每个教学班选择k[i]个时间段上课。接下来的m[i]行,每行有2k[i]个整数,表示每个教学班选择的时间段,每两个整数表示一节课的时间,第一个整数表示星期几(1-5),第二个整数表示时间段(1-6)。
输出格式:
输出一个整数,表示白兔选的课程占用的时间段总数的最大值。
输入输出样例:
输入:
4
1 1
2 1 2 1
2 2 3 1 4 2 4 2 5 2
2 2 3 2 4 2 5 2 5 3
输出:
5
说明/提示:
样例解释:
一共有4门课程。
第一门课程只有一个教学班,上课时间是星期二的第一节。
第二门课程有两个教学班,第一个教学班上课时间是星期二的第一节,第二个教学班上课时间是星期三的第一节。
第三门课程有两个教学班,每个教学班上两个时间段的课程。第一个教学班上课时间是星期三的第一节和星期四的第二节,第二个教学班上课时间是星期四的第二节和星期五的第二节。
第四门课程有两个教学班,每个教学班上两个时间段的课程。第一个教学班上课时间是星期三的第二节和星期四的第二节,第二个教学班上课时间是星期五的第二节和星期五的第三节。
最优解是选择第三门课的第一个教学班、第四门课的第二个教学班和第一门课。
数据范围:
对于10%的数据,保证n=1。
对于30%的数据,保证n<=5。
对于60%的数据,保证m=1。
对于100%的数据,保证n<=17,m<=2,k<=3。
https://www.luogu.com.cn/problem/T318306
代码基础
#include <bits/stdc++.h>
using namespace std;
int main() {
return 0;
}
能不用chatgbt的就不用,我试过了,全错