POJ 2664 Prerequisites?(我的水题之路——选课)
2012-02-12 16:44
309 查看
Prerequisites?
Description
Freddie the frosh has chosen to take k courses. To meet the degree requirements, he must take courses from each of several categories. Can you assure Freddie that he will graduate, based on his course selection?
Input
Input consists of several test cases. For each case, the first line of input contains 1 <= k <= 100, the number of courses Freddie has chosen, and 0 <= m <= 100, the number of categories. One or more lines follow containing k 4-digit integers follow; each is
the number of a course selected by Freddie. Each category is represented by a line containing 1 <= c <= 100, the number of courses in the category, 0 <= r <= c, the minimum number of courses from the category that must be taken, and the c course numbers in
the category. Each course number is a 4-digit integer. The same course may fulfil several category requirements. Freddie's selections, and the course numbers in any particular category, are distinct. A line containing 0 follows the last test case.
Output
For each test case, output a line containing "yes" if Freddie's course selection meets the degree requirements; otherwise output "no".
Sample Input
Sample Output
Source
Waterloo local 2005.09.24
每一个人毕业需要选课,他已经选了k门课程,现在该专业有m个课程类别,每个类别有c个课程,最少需要选择r门课程才可以毕业,以及该类别下课程的号码列表。如果每个类别,均已经选择了至少r门课程,则可以毕业输出“yes”,否则输出“no”。
将已经选择的课程标记下来,然后对于每一个类别分别进行验证是否已经符合了要求。
注意点:
1)每一个类别要分开统计是否达标,不能混淆(1WA)。
代码(1AC 1WA):
Time Limit: 2000MS | Memory Limit: 65536K | |
Total Submissions: 3063 | Accepted: 1931 |
Freddie the frosh has chosen to take k courses. To meet the degree requirements, he must take courses from each of several categories. Can you assure Freddie that he will graduate, based on his course selection?
Input
Input consists of several test cases. For each case, the first line of input contains 1 <= k <= 100, the number of courses Freddie has chosen, and 0 <= m <= 100, the number of categories. One or more lines follow containing k 4-digit integers follow; each is
the number of a course selected by Freddie. Each category is represented by a line containing 1 <= c <= 100, the number of courses in the category, 0 <= r <= c, the minimum number of courses from the category that must be taken, and the c course numbers in
the category. Each course number is a 4-digit integer. The same course may fulfil several category requirements. Freddie's selections, and the course numbers in any particular category, are distinct. A line containing 0 follows the last test case.
Output
For each test case, output a line containing "yes" if Freddie's course selection meets the degree requirements; otherwise output "no".
Sample Input
3 2 0123 9876 2222 2 1 8888 2222 3 2 9876 2222 7654 3 2 0123 9876 2222 2 2 8888 2222 3 2 7654 9876 2222 0
Sample Output
yes no
Source
Waterloo local 2005.09.24
每一个人毕业需要选课,他已经选了k门课程,现在该专业有m个课程类别,每个类别有c个课程,最少需要选择r门课程才可以毕业,以及该类别下课程的号码列表。如果每个类别,均已经选择了至少r门课程,则可以毕业输出“yes”,否则输出“no”。
将已经选择的课程标记下来,然后对于每一个类别分别进行验证是否已经符合了要求。
注意点:
1)每一个类别要分开统计是否达标,不能混淆(1WA)。
代码(1AC 1WA):
#include <cstdio> #include <cstdlib> #include <cstring> int arr[10010]; int main(void){ int k, c; int num, need, tmp, taken; int flag; int i, j; while (scanf("%d", &k), k != 0){ memset(arr, 0, sizeof(arr)); scanf("%d", &c); for (i = 0; i < k; i++){ scanf("%d", &tmp); arr[tmp] = 1; } flag = 1; for (i = 0; i < c; i++){ scanf("%d%d", &num, &need); for (j = taken = 0; j < num; j++){ scanf("%d", &tmp); if (arr[tmp] == 1){ taken ++; } } if (taken < need){ flag = 0; } } if (flag){ printf("yes\n"); } else{ printf("no\n"); } } return 0; }
相关文章推荐
- POJ 1046 Color Me Less(我的水题之路——坐标最小点)
- POJ 1247 Magnificent Meatballs(我的水题之路——数组两边求和)
- POJ 2608 Soundex(我的水题之路——字符值)
- POJ 3006 Dirichlet's Theorem on Arithmetic Progressions(我的水题之路——加i个d后的第几个素数)
- POJ 3438 Look and Say(我的水题之路——N个M的队列)
- poj 2664 Prerequisites?
- POJ 1118 Lining Up(我的水题之路——斜率最多)
- POJ 1580 String Matching(我的水题之路——字符串公共子串的比较雏形)
- POJ 2028 When Can We Meet?(我的水题之路——边输入,边搜索)
- POJ 2390 Bank Interest(我的水题之路——double和floa计算差别)
- POJ 2538 WERTYU(我的水题之路——键盘错位)
- POJ 2636 Electrical Outlets(我的水题之路——水,电器接头)
- poj水题之路(转)
- POJ 1350 Cabric Number Problem(我的水题之路——字符串和数字间的转换)
- POJ 2039 To and Fro(我的水题之路——解密,N个字符的正逆序)
- POJ 2109 Power of Cryptography(我的水题之路——k^n=p)
- POJ 2551 Ones(我的水题之路——重点,末尾有几个1)
- POJ 2656 Unhappy Jinjin(我的水题之路——不开心的学习日)
- POJ 3030 Nasty Hacks(我的水题之路——比较大小)
- POJ 3158 Kickdown(我的水题之路——齿轮盒子,读题失败)