#P14423. [JOISC 2014] 有趣的交朋友 / Making Friends is Fun
[JOISC 2014] 有趣的交朋友 / Making Friends is Fun
题目描述
你是活跃于历史幕后的一名特工,日复一日地为世界和平而行动。这个世界共有 个国家,分别被赋予从 到 的不同编号。你的目标是在这些国家之间尽可能多地建立友好的关系。
为了制定特工任务的计划,你绘制了一张表示当前国际关系的图。你准备了一张大画纸,首先在上面标出 个点,分别代表这 个国家。接着,为了表示当前的国际关系,你画了 条箭头,每条箭头连接两个国家。从代表国家 的点指向代表国家 的点的箭头,表示“当前,国家 向国家 派遣了大使”。以下,我们将从国家 指向国家 的箭头称为箭头 。这样,由 个点和 条箭头构成的图,即表示当前的国际关系。
作为促进国家间友好关系的举措,考虑举行两国之间的友好条约缔结会议(以下简称为“会议”)。为了让两个国家 和 举行会议,必须存在一个国家 作为中介,即国家 向 和 两国都派遣了大使。举行会议后,两国将互相派遣大使,也就是说,必须添加新的箭头 和 。但若这些箭头已经存在,则无需重复添加。
你的任务是:选择能够举行会议的两个国家,以及作为会议中介的国家,使会议得以举行。为了模拟这一过程,我们将以画纸上箭头的总数作为衡量世界和平程度的标准。也就是说,通过不断选择两个国家举行会议,我们希望知道画纸上箭头的总数最多可以达到多少。
题目
给定这个世界中的国家数量以及当前国际关系的信息,编写一个程序,通过反复选择两个国家举行会议,使得画纸上箭头的总数达到最大值。
输入格式
从标准输入读取以下输入。
- 第一行包含两个整数 和 ,以空格分隔。 表示画纸上点的数量(即这个世界中国家的数量), 表示画纸上箭头的数量。
- 接下来的 行,每行包含画纸上一个箭头的信息。第 行()包含两个整数 和 ,以空格分隔。这表示在画纸上从表示国家 的点指向表示国家 的点画有一条箭头,即国家 向国家 派遣了大使。
输出格式
在标准输出中,输出一行,表示可以实现的箭头数量的最大值。注意,箭头的数量不仅包括会议中新添加的箭头,也包括当前已经存在的箭头。
5 4
1 2
1 3
4 3
4 5
10
提示
样例 1 解释
例如,可以通过以下步骤实现 10 个箭头:
- 以国家 1 为中介,国家 2 与国家 3 进行会议。
- 以国家 4 为中介,国家 3 与国家 5 进行会议。
- 以国家 3 为中介,国家 2 与国家 5 进行会议。
数据范围
所有输入数据均满足以下条件:
- ()
- ()
- ()
- ()
子任务
子任务 1 [5 分]
- 满足 。
子任务 2 [30 分]
- 满足 。
子任务 3 [65 分]
无额外限制。
翻译由 Qwen3-235B 完成