「vijos1021」Victoria的舞会1
描述
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。
样例输入
1234567891011121314151617181920212223 22 14 5 10 11 20 21 02 3 6 8 11 16 02 3 5 8 12 15 16 18 01 5 6 10 11 12 16 18 01 3 4 16 20 02 4 19 21 22 08 9 13 19 20 02 3 7 10 19 07 10 14 16 19 01 4 8 9 10 20 01 2 4 18 19 20 21 03 4 13 07 12 15 16 18 19 21 22 09 16 03 13 21 02 3 4 5 9 13 14 20 018 22 03 4 11 13 17 21 06 7 8 9 11 13 19 21 22 01 5 7 10 11 16 21 22 01 6 11 13 15 18 19 20 06 13 17 19 20 0
样例输出
1 22
代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
#include<iostream> using namespace std; int a[201]; int main() { int n,k,ans=0; cin>>n>>k; for(int i=1;i<=n;i++) { int x; while(cin>>x) { if(x==0)break; else a[x]++; } } for(int i=1;i<=n;i++) { if(a[i]>=k)ans++; } cout<<ans; return 0; } |
Subscribe