F - 我们什么时候能见面? POJ - 2028

ICPC委员会希望尽快召开会议,解决下一届比赛中的每一个小问题。然而,委员会的成员都忙于疯狂地开发(可能是无用的)程序,以至于很难安排他们的会议日程。因此,为了确定会议日期,主席要求每个成员通过电子邮件发回一份方便的日期清单。你的任务是帮助主席,他现在正致力于比赛的其他问题,通过编写一个程序,从提交的列表中选择最佳日期。你的程序应该为大多数成员找到方便的日期。如果有不止一个这样的日子,最早是最好的。

Input 多组输入,每组输入以一行开始,其中包含委员会成员的数量和会议的法定人数。

N Q 这里,N表示委员会的规模,Q表示法定人数,都是正整数。N小于50,当然,Q小于等于N。

接下来是N行,每一行都用下面的格式描述委员会成员的方便日期。

M Date1 Date2 ... DateM

这里,M表示成员的方便日期数,它是一个大于或等于零的整数。行中剩余的项目是他/她的方便日期,是小于100的正整数,即1表示明天,2表示后天,依此类推。它们是按升序排列的,没有任何重复,并且由一个空格字符分隔。行既没有前置空格,也没有尾随空格。

包含两个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

思路

用个桶,统计一下每个议员,某个一天空闲的的一员的数量

代码

#include<iostream>
#include<cmath>
#include<cstdio>
#include<queue>
#include<cstring>
#include<algorithm>
#define ll long long
#define inf 0x3f3f3f3f
using namespace std;
int read()
{
int res=0;char ch=0;
while (!isdigit(ch))ch=getchar();
while (isdigit(ch))res=(res<<3)+(res<<1)+(ch^48),ch=getchar();
return res;
}
int ar[105]; int main()
{
/* freopen("A.txt","r",stdin); */
int n, m;
while(scanf("%d %d", &n, &m) && n + m)
{
memset(ar, 0, sizeof(ar));
int z;
for(int i = 1; i <= n; i ++)
{
scanf("%d", &z);
int day;
for(int j = 1; j <= z; j ++)
scanf("%d", &day), ar[day] ++;
} int ans = 0;
int last = -1;
for(int i = 1; i <= 100; i ++)
{
if(ar[i] >= m && last < ar[i])
ans = i, last = ar[i];
}
printf("%d\n", ans);
} return 0;
}

F - 我们什么时候能见面? POJ - 2028的更多相关文章

  1. POJ 2028

    #include <iostream> #define MAXN 200 using namespace std; int mark[MAXN]; int main() { //freop ...

  2. 关于输出用%lf和%f的问题

    关于输入,float用%f,double用%lf 而输出时,无论是float还是double,都用%f 原文请见:http://poj.org/showmessage?message_id=12692 ...

  3. ACM 矩阵题目整理

    先从最基础的矩阵快速幂加速递推开始. HDU 1005 Number Sequence |f[n-2],f[n-1]|* |0 B| =|f[n-1], B*f[n-2]+A*f[n-1]|=|f[n ...

  4. Mysql_以案例为基准之查询

    查询数据操作

  5. 三分初练QAQ

    求凸函数的极值的一般方法是三分 三分的思想大概是这样的: 例如我们要求下凸函数的极值 在区间[L,R]上, 我们定义m1为区间的第一个三等分点 定义m2为区间的第二个三等分点 设函数值为F(x) 则若 ...

  6. 算法笔记--最大流和最小割 && 最小费用最大流 && 上下界网络流

    最大流: 给定指定的一个有向图,其中有两个特殊的点源S(Sources)和汇T(Sinks),每条边有指定的容量(Capacity),求满足条件的从S到T的最大流(MaxFlow). 最小割: 割是网 ...

  7. ECMAScript 6.0 简要学习

    由于在学习vue的时候有许多自己不懂的语法,于是简单的学习一下ES6. 1.ES简介 ES6, 全称 ECMAScript 6.0 ,是 JavaScript 的下一个版本标准,2015.06 发版. ...

  8. # 数位DP入坑

    Hdu 2089 不要62 #include<iostream> #include<cstdio> #include<cmath> #include<cstr ...

  9. kuangbin_ShortPath F (POJ 3259)

    判环模板题 有了上一题的经验过得很轻松 除了因为spfa还不是很熟打错了两个字母 然后debug了一小会 #include <iostream> #include <string&g ...

随机推荐

  1. flask前端上传图片/文件

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  2. JS中面向对象中的继承(常用写法)---核心部分

    1.基本概念 子类继承父类,但是不能影响父类.包括1.混合继承(构造函数+原型) 2.ES6新增class的继承. 接下来介绍,面向对象中继承的两种常用写法.即混合继承(构造函数+原型)和class继 ...

  3. python3编写程序,根据输入的行列数值,生成相应的矩阵(其中元素为随机数)。

    代码如下: import random n = int(input("请输入行:")) m = int(input("请输入列:")) x = y = 0 wh ...

  4. python切片使用方法(超详细)

    #切片:就是根据一个下标范围来获取一部分数据,切片通常结合字符串,列表,元组使用 # 为什么使用切片?因为下标只能获取一个数据,所以想要获取字符串或者列表当中一部分数据需要用切片. # 切片的语法格式 ...

  5. nes 红白机模拟器 第8篇 USB 手柄支持

    买了一个支持 USB OTG, 蓝牙 连接的 安卓手柄. 接到 ubunto 上 dmesg 可以看到识别出来的信息,内核已经支持了. usb - using uhci_hcd usb - usb - ...

  6. nsq 初学使用日记

    win下更加直观一些,所以不使用liunx 第一步下载 nsq 下载地址 https://github.com/nsqio/nsq.git 使用git clone或者go get 下载下来 第二部 编 ...

  7. ApplicationContextInitializer的理解和使用

    一.ApplicationContextInitializer 介绍 1.1 作用 ApplicationContextInitializer 接口用于在 Spring 容器刷新之前执行的一个回调函数 ...

  8. Docker深入浅出系列 | 5分钟搭建你的私有镜像仓库

    Docker已经上市很多年,不是什么新鲜事物了,很多企业或者开发同学以前也不多不少有所接触,但是有实操经验的人不多,本系列教程主要偏重实战,尽量讲干货,会根据本人理解去做阐述,具体官方概念可以查阅官方 ...

  9. vue中计算属性中的set和get

    <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script> <body& ...

  10. mimtproxy的使用(windows)

    1.安装 pip3 install mitmproxy 或者下载安装指定版本:https://mitmproxy.org/downloads/ 2.配置证书 对于mitmproxy来说,如果想要截获H ...