POJ2864 Pascal Library 水题 C语言

题目:http://poj.org/problem?id=2864

题目大意:有N个男毕业生,举行了D次晚会,D行N列的矩阵,0表示Ni没有参加这次晚会,1表示参加了。判断有没有人参加了所有晚会

思路:开一个N数组标记男毕业生的参加情况,初始化都为1,如果输入时发现某一次为0,说明未参加,则N[i]标记为0。输入结束后扫描N数组,如果有N[i]仍然为1,说明有人参加了全部的晚会,输出yes,否则输出no

提交情况: AC 1次

总结:觉得这么做似乎还有点麻烦,不够简洁……

 

AC code :

View Code
 1 #include <stdio.h>
2 #include <stdlib.h>
3 #include <string.h>
4
5 #define MAXN 110
6
7 int N[MAXN];
8
9 void Insert(int n, int d) {
10 int i, j;
11 int times;
12 for(i = 1; i <= d; ++i)
13 for(j = 1; j <= n; ++j) {
14 scanf("%d", &times);
15 if(!times)
16 N[j] = 0;
17 }
18 }
19
20 int Find(int n) {
21 int i;
22 for(i = 1; i <= n; ++i)
23 if(N[i])
24 return 1;
25 return 0;
26 }
27
28 int main() {
29 int n, d;
30 while(scanf("%d%d", &n, &d), n || d) {
31 memset(N, 1, sizeof(N));
32 Insert(n, d);
33 if(Find(n))
34 printf("yes\n");
35 else
36 printf("no\n");
37 }
38 return 0;
39 }
posted @ 2011-07-24 14:13  cloehui  阅读(255)  评论(0编辑  收藏  举报