欢迎来到起遇信息学
起遇信息学正处于上线筹建阶段,以下功能已全部开放免费体验: ✅ 完整题库浏览与代码提交评测(C / C++ / Python / Java 等) ✅ 入门到进阶的系列课程试读、作业与考试 ✅ AI 提示、AI 作业分析等智能助教功能 ✅ 赛事模拟与个人能力报告 ✅ 邮箱注册开放 ⏳ 付费课程订阅与微信/支付宝支付通道 ⏳ 手机号登录,微信扫码登录、微信公众号绑定 使用中如遇任何问题,欢迎通过页面底部 **"联系我们"** 与我们沟通。
CF1969A.Two Friends
Two Friends
题目描述
Monocarp 想要举办一个聚会。他有 个朋友,并且他想要让他们之中的至少 人来参加聚会。
第 个朋友的最好的朋友是 。每一个 都是不一样的,并且对于所有的 ,。
Monocarp 可以给朋友们发送邀请。如果第 个朋友和第 个朋友都收到了邀请(注意第 个朋友不一定真的要去参加聚会),那么第 个朋友会去参加聚会。每份邀请都会发送给其中一位朋友。
举个例子,如果 ,并且 Monocarp 给朋友 发邀请,那么朋友 会去参加聚会。朋友 不会去参加聚会因为他最好的朋友没有收到邀请;朋友 不会去参加聚会因为他没有受到邀请。
求 Monocarp 最少需要发出的邀请数以让至少 个朋友来参加聚会。
输入格式
第一行包含一个整数 (),表示数据组数。
每一组数据包含两行:
- 第一行包含一个整数 (),表示朋友数;
- 第二行包含 个整数 (;;所有的 都不一样)。
输出格式
输出一个整数,为 Monocarp 最少需要发出的邀请数。
样例解释
在第一组数据中,Monocarp 可以给朋友 和 发邀请。他们两人都会来参加聚会因为他们是对方最好的朋友,并且他们都收到了邀请。
在第二组数据中,例如,Monocarp 可以给朋友 和 发邀请。然后朋友 和 会出席:朋友 和他最好的朋友 都收到了邀请,朋友 和他最好的朋友 都收到了邀请。朋友 不会出席因为他最好的朋友 没有收到邀请。只给少于 个朋友发邀请函还至少有 个朋友来参加聚会是不可能的。
在第三组数据中,Monocarp 可以给朋友 和 都发邀请,然后他们两个都会出席。
样例
3
5
3 1 2 5 4
4
2 3 4 1
2
2 1
2
3
2
在线编程 IDE
建议全屏模式获得最佳体验
| 进入全屏编程 | Alt+E |
| 递交评测 | Ctrl+Enter |
| 注释/取消注释 | Ctrl+/ |
| 缩放字体 | Ctrl+滚轮 |