5305 - Tunnels

通过次数

0

提交次数

0

时间限制 : 1 秒
内存限制 : 256 MB

  一个间谍从你的陷阱中逃出来了,干掉了你的警卫,并且带走了你毁灭世界的计划。你的糟糕的行动由此受到了威胁。现在你需要在他逃出基地之前抓到他。
  你的基地由一系列房间和连接它们的双向隧道组成,隧道只在房间处相交。每个房间都配有监控摄像,使你能在任意时刻了解间谍所处的位置。另外,每条隧道里都装有遥控炸药,触发后可以永久毁坏该隧道。间谍在隧道中移动极快,因此你不可能把他困在炸毁的一条隧道中,但你可以炸毁一些隧道,使他无法逃出基地。
  显然,间谍不可能逃出基地。所以你的目标是在困住他的同时炸毁最少的隧道,因为之后的重建非常昂贵。找到一种策略,使得在最坏情况下需要炸毁的隧道数最小。

输入

 输入包含多组数据。每组数据的第一行包含两个整数R, T,分别表示房间的隧道的数量。接下来T行,每行两个整数a, b(0 <= a, b <= R),表示隧道两端的房间编号。形如"0 x"或"x 0"的输入表示联通房间x和基地外部的隧道。
  间谍从1出发,你需要阻止他到达点0(基地外部)。

输出

对第i组输入,输出"Case i: {ans}\n\n",其中${ans}表示对应的答案。
  参见样例输出的格式。

样例

输入

4 6
1 2
1 3
2 4
3 4
4 0
4 0
4 6
1 2
1 3
1 4
2 0
3 0
4 0
0 0

输出

Case 1: 2

Case 2: 2

提示

数据规模和约定

  1 <= R <= 50, 1 <= T <= 1000。
  每个测试点至多包含五组数据。

 

来源

蓝桥杯