首页 > 代码库 > HDU 3105 Fred's Lotto Tickets(数学题)
HDU 3105 Fred's Lotto Tickets(数学题)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3105
Problem Description
Fred likes to play the lotto. Whenever he does, he buys lots of tickets. Each ticket has 6 unique numbers in the range from 1 to 49, inclusive. Fred likes to ``Cover all his bases." By that, he means that he likes for each set of lottery tickets to contain every number from 1 to 49, at least once, on some ticket. Write a program to help Fred see of his tickets ``Cover all the bases."
Input
The input file consists of a number of test cases. Each case starts with an integer N ( 1<=N<=100 ), indicating the number of tickets Fred has purchased. On the next N lines are the tickets, one per line. Each ticket will have exactly 6 integers, and all of them will be in the range from 1 to 49 inclusive. No ticket will have duplicate numbers, but the numbers on a ticket may appear in any order. The input ends with a line containing only a `0‘.
Output
Print a list of responses for the input sets, one per line. Print the word `Yes‘ if every number from 1 to 49 inclusive appears in some lottery ticket in the set, and `No‘ otherwise. Print these words exactly as they are shown. Do not print any blank lines between outputs.
Sample Input
1 1 2 3 4 5 6 9 1 2 3 4 5 6 10 9 8 7 12 11 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 19 34 27 25 13 0
Sample Output
No Yes
Source
2008 ACM-ICPC Southeast USA Regional
代码如下:
#include <cstdio> #include <cstring> int main() { int a[1100]; int n; while(scanf("%d",&n) && n) { int tt; memset(a,0,sizeof(a)); for(int i = 0; i < n; i++) { for(int j = 0; j < 6; j++) { scanf("%d",&tt); a[tt]++; } } int i; for(i = 1; i <= 49; i++) { if(a[i] == 0) break; } if( i < 49) { printf("No\n"); } else printf("Yes\n"); } return 0; }
HDU 3105 Fred's Lotto Tickets(数学题)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。