QOJ.ac

QOJ

Time Limit: 1.0 s Memory Limit: 256 MB Total points: 100

#13133. 城堡

Statistics

战争在世界历史上扮演了重要角色。与现代战争不同,中世纪的军队主要关注攻占和守卫城堡,即领主和贵族的私人防御住所。进攻军队的规模是军队能否攻占并守住这些建筑杰作的重要因素。

图 2

攻占一座城堡需要一定数量的最低限度士兵。在进攻过程中,预计会有一些士兵阵亡。攻占城堡后,需要留下一部分士兵在城堡内以抵御来自其他敌人的攻击。当然,对于不同的城堡,这些数字各不相同。军队指挥官必须考虑获胜所需的士兵人数。例如,图 2 所示的区域地图中有五座城堡。右下角的城堡需要至少 20 名士兵才能发动一场获胜的进攻。预计进攻过程中没有士兵阵亡,且当军队继续前进时,必须在城堡中留下 10 名士兵。

在本题中,你必须确定攻占并守住特定区域内所有城堡所需的最小军队规模。出于安全考虑,该区域内任意两座城堡之间有且仅有一条(双向)路线。进入未攻占城堡的邻近区域即开始对该城堡的进攻。任何城堡都可以作为第一座被攻击的城堡,无论军队是如何到达那里的。一旦某座城堡被攻占,所需数量的士兵会被留在城堡中进行防御,其余的军队则继续前往另一座城堡进行战斗(如果还有未攻占的城堡)。军队可以安全地穿过已经攻占的城堡的邻近区域。但由于存在遭受攻击的可能,军队在任意两座城堡之间的路线上往返次数不得超过两次(即每个方向最多一次)。

输入格式

输入包含对应不同区域的多个测试用例。每个区域的城堡描述占用多行。第一行包含一个整数 $n \le 100$,表示该区域内城堡的数量。接下来的 $n$ 行,每行包含三个整数 $a, m, g$($1 \le a \le 1000, 0 \le m \le a, 1 \le g \le 1000$),分别给出了成功进攻并攻占特定城堡所需的最低士兵人数、进攻过程中预计阵亡的士兵人数,以及必须留在城堡中进行防御的士兵人数。城堡编号为 $1$ 到 $n$,输入中描述城堡的行按城堡编号递增的顺序给出。测试用例中剩余的 $n - 1$ 行,每行包含两个整数,指定了由直接路线连接的一对城堡的编号。

包含 0 的一行表示最后一个区域描述的结束。

输出格式

对于每个测试用例,显示用例编号以及攻占该区域所有城堡所需的最小军队士兵人数。请遵循样例输出中的格式。

样例

输入 1

3 
5 5 5
10 5 5
5 1 1
1 3
2 3
5
10 5 10
20 10 5
10 10 5
5 5 5
20 0 10
1 2
1 3
1 4
3 5
0

输出 1

Case 1: 22
Case 2: 65

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.