POJ 2028 When Can We Meet?(水~)
来源:互联网 发布:金山毒霸当前网络断开 编辑:程序博客网 时间:2024/05/29 03:05
Description
n个人开会至少需要q个人到场,而每个人的空闲时间不一样,现给出每个人的空闲时间,求可以开会的人数最多的最早日期,如果没有符合的日期则输出0
Input
多组输入,每组用例第一行为两个整数n和q,之后n行每行表示一个人的空闲时间,第一个数为空闲天数m,之后m个整数表示该人空闲日期,以n=q=0结束输入
Output
对于每组用例,输出满足开会人数最多的最早日期,如果最多人数尚不能满足开会条件则输出0
Sample Input
3 2
2 1 4
0
3 3 4 8
3 2
4 1 5 8 9
3 2 5 9
5 2 4 5 7 9
3 3
2 1 4
3 2 5 9
2 2 4
3 3
2 1 2
3 1 2 9
2 2 4
0 0
Sample Output
4
5
0
2
Solution
水题,开一个一维数组,数组下标表示日期,数组的值表示该日期能到场的人数,求出数组最大值然后与q比较即可,注意多组用例统一输出,故需记录答案
Code
#include<stdio.h>#define max(x,y) x>y?x:yint main(){ int n,q,m,i,j,d,flag,max,res=0,b[100],p[10000],pp[10000]; while(scanf("%d%d",&n,&q)&&n&&q) { for(i=0;i<10000;i++) p[i]=0; flag=0; for(i=0;i<n;i++) { scanf("%d",&m); for(j=0;j<m;j++) { scanf("%d",&d); p[d]++; } } max=0; for(i=0;i<10000;i++)//更新与会人数最大值 max=max(max,p[i]); for(i=0;i<10000;i++)//找出与会人数最大的日期 if(max==p[i]) break; if(max>=q)//可以开会 pp[res]=max;//记录答案 else//人数不足 pp[res]=0;//记录答案 b[res++]=i; } for(i=0;i<res;i++)//输出 if(pp[i]) printf("%d\n",b[i]); else printf("0\n");}
0 0
- POJ 2028 When Can We Meet?(水~)
- POJ 2028 When can we meet?
- poj 2028 When Can We Meet?
- POJ 2028 When Can We Meet? 枚举
- POJ 2028 When Can We Meet? G++
- when can we meet POJ-2028
- POJ 2028 When Can We Meet?(模拟)
- POJ 2028 When Can We Meet? (又是一道水题)
- 2028 When Can We Meet?
- POJ 2028 When Can We Meet?(我的水题之路——边输入,边搜索)
- zoj 1715 When Can We Meet?(水~)
- (简单)When Can We meet?
- zoj1715---------------------When Can We Meet?
- poj2028 When Can We Meet?
- poj2028 When Can We Meet?
- 1715 When Can We Meet?
- POJ2028 When Can We Meet?
- POJ2028 When Can We Meet? 水题
- vim配置及插件安装管理(超级详细)
- iOS在线音频播放FreeStreamer
- API之SOA和数据格式
- 欢迎使用CSDN-markdown编辑器
- php 中的declare
- POJ 2028 When Can We Meet?(水~)
- 探讨自动化网页截图方法在全球化测试中的实际应用
- linux shutdown related
- LeetCode 4 - Median of Two Sorted Arrays
- 欢迎使用CSDN-markdown编辑器
- 你真的很熟分布式处理和事务吗?
- python格式化输出(转自White Pillow's Blog)
- 国外程序员常去的14个顶级开发社区
- Android网络框架Volley