#445. 宫姐没有朋友
宫姐没有朋友
背景
在🌏猫猫星,一年一度的🎓毕业季马上就要来了!
在毕业舞会上,我们需要将同学们两两配对,但是猫猫星高中的同学实在是太多了,我们实在没有办法通过传统的方法来配对同学,因此,我们设计了一套方法,来配对同学:
- 首先,我们将所有的同学们分为A组和B组
- A组同学们可以向B组的同学发送邀请,同理,B组的同学也可以邀请A组的同学
- 所有被发出的邀请会被送到 CatEx 进行处理,在这里,我们决定送出哪些邀请,来确保每位同学只会收到一份邀请
- 我们假设,所有收到邀请的同学一定会接受邀请, CatEx 的处理原则是:确保有尽可能多的同学能完成配对
当然,作为 CatEx 的首席分拣员,完整接受过猫猫星K-16教育的聪明的你已经发现,这个处理规则并不困难,只需要应用一下曾经学过的 二分图 匹配算法便可很快完成匹配
但就在这时,你收到了一封特殊的邮件
来信者是一位署名 星野宫子 的女生,她在信中描述自己是一位重度社恐,没有朋友(因此也不会有人寄信邀请她),她拜托你替她找到一位可以配对的同学,并将她的信件送出,而这位同学应当满足以下条件:
- 由于宫子在A组,因此这位同学必须是B组的
- 这位同学应该是一位社「交」恐「怖分子」,即是 全班 同学中,寄出📃信件最多的同学(当然,一个人可以给另外一个人送去多封信件)
- 在处理宫子的请求的同时,不能违反 CatEx 的处理原则,换句话说,在不送出宫子的信件的情况下匹配成功的组数应当 严格小于 送出宫子信件的情况下匹配成功的组数
- 如果B组有多个同学送出的信件的数量都是全班最多的,你可以给其中任意人寄出邀请信
输入数据
第一行含有两个数 分别代表A组(不包含宫子)的人数和B组的人数
接下来一行含有两个数 分别代表A组同学送出的信件数和B组同学送出的信件数
接下来行,每行带有两个数代表A组的号同学给B组的号同学送了邀请信,接下来的行同理
其中,
输出
请你判断,宫子能不能找到匹配的同学,如果有,请在第一行输出:
Genkidashite kudasai
元気出してください
如果没有,请在第一行输出:
Mi ~ya ane ni tomodachi wa inaida
みゃー姉に友だちはいないだ
样例
4 4
4 4
4 2
1 1
3 2
3 1
4 4
2 4
3 3
1 2
Mi ~ya ane ni tomodachi wa inaida
2 3
1 3
1 3
1 1
1 2
2 2
Genkidashite kudasai
解释
对于样例1,很明显B组没有社交恐怖分子,因此宫姐没有朋友/(ㄒoㄒ)/~~
而对于样例2,我们可以画出如下寄信图:
很明显,B组的1号选手就是我们要找的社交恐怖分子,我们可以找到最优匹配(荧光笔标出线条):
所以宫姐有朋友( •̀ ω •́ )y,她的朋友是1号选手