您的位置:首页 > 其它

Vijos P1021Victoria的舞会1

2015-07-04 09:56 232 查看
[align=center]P1021Victoria的舞会1[/align]

标签:贪心

描述

Victoria是一位颇有成就的艺术家,他因油画作品《我爱北京天安门》闻名于世界。现在,他为了报答帮助他的同行们,准备开一个舞会。

Victoria准备邀请n个已经确定的人,可是问题来了:

这n个人每一个人都有一个小花名册,名册里面写着他所愿意交流的人的名字。比如说在A的人名单里写了B,那么表示A愿意与B交流;而且如果A名单里面有B,那么B名单里面肯定有A,也就是说两个人如果一方愿意和另一方交流,那么另一方也肯定愿意和这一方交流。

Victoria觉得需要在这n个人里面确定m个人,保证这m个人每一个人都能在舞会的n个人中找到至少k个人交流,并求出一种方案以确定m的最大值是多少。

注意:自己的名单里面不会有自己的名字。

格式

输入格式

第一行两个数n和k。接下来n行,每i+1行表示编号为i的人的小花名册名单,名单以0结束。1<=n,k<=200。

输出格式

一个数,m。

样例1

样例输入1[复制]

22 1
4 5 10 11 20 21 0
2 3 6 8 11 16 0
2 3 5 8 12 15 16 18 0
1 5 6 10 11 12 16 18 0
1 3 4 16 20 0
2 4 19 21 22 0
8 9 13 19 20 0
2 3 7 10 19 0
7 10 14 16 19 0
1 4 8 9 10 20 0
1 2 4 18 19 20 21 0
3 4 13 0
7 12 15 16 18 19 21 22 0
9 16 0
3 13 21 0
2 3 4 5 9 13 14 20 0
18 22 0
3 4 11 13 17 21 0
6 7 8 9 11 13 19 21 22 0
1 5 7 10 11 16 21 22 0
1 6 11 13 15 18 19 20 0
6 13 17 19 20 0


样例输出1[复制]

22


限制

每个测试点1秒。

来源

Vivian Snow

ANALYSIS:水题,开始看见数据量有点多,以为很难。读完题后秒ac了。(PS:一个朋友看见我的代码长度还惊讶死了,他写了80多行代码,我笑尿了),本题就是统计一下每个人可以交流的总人数,答案就是其中的最小值。

LANGUAGE:C++

CODE:

#include <iostream>
using namespace std;

int main()
{
//    freopen("test.txt","r",stdin);
int t,n,k,tmp,ans=0;
cin>>n>>k;
for(int i=0;i<n;i++){
tmp=0;
while(cin>>t&&t)
tmp++;
if(tmp>=k)
ans++;
}
cout<<ans;
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: