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 :

ContractedBlock.gif ExpandedBlockStart.gif 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 }

转载于:https://www.cnblogs.com/cloehui/archive/2011/07/24/2115359.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值