百度空间 | 百度首页 
 
查看文章
 
2006年百度之星程序设计大赛复赛题目3
2007-05-14 18:17

星球大战

公元4999年,人类科学高度发达,绝大部分人都已经移居至浩瀚的宇宙,在上千颗可居住星球上留下了人类的印记。然而,此时人类却分裂成了两个联盟:正义联盟和邪恶联盟。两个联盟之间仇恨难解,时有战争。

现在,正义联盟计划要破坏邪恶联盟的贸易网络,从而影响邪恶联盟的经济状况,为下一次战争作好准备。邪恶联盟由数百颗星球组成,贸易通过星球间的运输航道来完成。一条运输航道是双向的且仅连接两个星球,但两个星球之间可以有多条航道,也可能没有。两个星球之间只要有运输航道直接或间接的相连,它们就可以进行贸易。正义联盟计划破坏邪恶联盟中的一些运输航道,使得邪恶联盟的星球分成两部分,任一部分的星球都不能与另一部分的星球进行贸易。但是为了节省破坏行动所需的开支,正义联盟希望破坏尽量少的运输航道来达成目标。请问正义联盟最少需要破坏多少条运输航道呢?

输入格式:

输入文件包含多组测试数据。每组测试数据第一行为两个整数NM2N5000MN(N-1)/2N为邪恶联盟中星球的数量。接下来M行,每行三个整数ABC0AB<NABC>0),表示星球A和星球B之间有C条运输航道。运输航道的总数量不超过108

输出格式:

每组测试数据输出一行,包含一个整数,表示需要破坏的运输航道的数量。

如果输入的贸易网络本来就是不连通的,则输出0

输入样例:

3 3

0 1 1

1 2 1

2 0 1

4 3

0 1 1

1 2 1

2 3 1

8 14

0 1 1

0 2 1

0 3 1

1 2 1

1 3 1

2 3 1

4 5 1

4 6 1

4 7 1

5 6 1

5 7 1

6 7 1

4 0 1

7 3 1

输出样例:

2

1

2

说明:

共有5个测试数据集,每个测试数据集为一个输入文件,包含多组测试数据。每个测试数据集从易到难分别为510153040分,对每个测试数据集分别执行一次程序,每次必须在运行时限10秒内结束程序并输出正确的答案才能得分。

所有数据均从标准输入设备(stdin/cin)读入,并写出到标准输出设备 stdout/cout)中。

五个测试数据集中输入N分别不大于2050100200500,各有9组测试数据。


类别:百度之星历年题目 | 添加到搜藏 | 浏览() | 评论 (15)
 
最近读者:
 
网友评论:
1
2007-05-17 14:55 | 回复
太难了,不敢来挑战了!
 
2
2007-05-17 15:51 | 回复
我报个名 就是不参赛 o(∩_∩)o...哈哈!
 
3
2007-05-17 16:55 | 回复
很厉害,看见这些题感觉很帅气,真棒!!! ----------------------发表下感慨
 
4
2007-05-17 17:11 | 回复
其么什么难得,这些都是些连通图的问题,跟一些城市间建立网络的类似。就是把基本概念包装了一下拿出来,考考,这样你们才有兴趣,不会觉得那么枯燥。本人也是一位酷爱技术的。
 
5
2007-05-17 20:38 | 回复
呵呵,怎么又是这种差不多的题目哟。 呵呵,4楼的,咱有同感哟。 要用到数据结构的东西做这题 我把出现过题目都看过一下,差不多,大同小异
 
6
2007-05-17 21:04 | 回复
废人类
 
7
2007-05-17 22:34 | 回复
大致分析一下,利用数据结构中的图,两个星球建有多少条通路就把他们之间的边的权重设置为多少,为0说明两者间不通!再求解!!不过我还没试能不能做出来,想着应该可以!
 
8
2007-05-17 22:36 | 回复
等偶学玩C++在说吧!
 
9
2007-05-18 00:01 | 回复
数据结构 没好好学 真后悔。。。要重新学了
 
10
2007-05-18 13:50 | 回复
这个题目还不错,突然拿起来有种无法入手的感觉哦!不过仔细想想还是蛮有意思的,难道应该不是很大!不要被外表所迷惑了
 
11
2007-05-22 19:17 | 回复
这题考的是双连通分支哦
 
12
2007-05-24 10:19 | 回复
晕~没看明白~
 
13
2007-06-03 14:43 | 回复
这个蛮简单滴,偶们刚学,真后悔怎么没早几年蹦出来
 
14
2008-08-03 11:35 | 回复
星球大战~~~~@
 
15
2008-08-04 13:07 | 回复
这个......
 
发表评论:
姓 名:
网址或邮箱: (选填)
内 容:
验证码: 请点击后输入四位验证码,字母不区分大小写
      

     

©2009 Baidu