【基础练习】【floyd+枚举】codevs1020 孪生蜘蛛题解

题目描述 Description

在G城保卫战中,超级孪生蜘蛛Phantom001和Phantom002作为第三层防卫被派往守护内城南端一带极为隐秘的通道。

根据防护中心的消息,敌方已经有一只特种飞蛾避过第二层防卫,直逼内城南端通道入口。但优秀的蜘蛛已经在每个通道内埋下了坚固的大网,无论飞蛾进入哪个通道,他只有死路一条!(因为他是无法挣脱超级蛛网的)

现在,001和002分别驻扎在某两个通道内。各通道通过内线相通,通过每条内线需要一定的时间。当特种飞蛾被困某处,001或002会迅速赶来把它结果掉(当然是耗时最少的那个)。

001跟002都想尽早的完成任务,他们希望选择在最坏情况下能尽早完成任务的方案。

输入描述 Input Description

第一行为一个整数N (N<=100) 表示通道数目。

接下来若干行每行三个正整数a,b,t 表示通道a,b有内线相连,通过的时间为t。(t<=100)

(输入保证每个通道都直接/间接连通)

输出描述 Output Description

两个不同的整数x1,x2,分别为001,002驻扎的地点。(如果有多解,请输出x1最小的方案,x1相同则输出x2最小的方案)

样例输入 Sample Input

3

1 2 5

2 3 10

3 1 3

样例输出 Sample Output

1 2

简单来说,就是有很多点,点之间有带权边。安放两个蜘蛛在不同位置,使他们到每个点距离的最大值最小。

基本思想是,先用floyd求每对点之间的最短路,然后对于每两个位置i,j枚举,打擂台求出最小值。题目要求i最小,其次j最小,因此只需从小到大枚举即可。

二话不说上代码~

——相与枕藉乎舟中,不知东方之既白。

时间: 2024-10-14 02:50:32

【基础练习】【floyd+枚举】codevs1020 孪生蜘蛛题解的相关文章

codevs1020 孪生蜘蛛

1020 孪生蜘蛛 题目描述 Description 在G城保卫战中,超级孪生蜘蛛Phantom001和Phantom002作为第三层防卫被派往守护内城南端一带极为隐秘的通道. 根据防护中心的消息,敌方已经有一只特种飞蛾避过第二层防卫,直逼内城南端通道入口.但优秀的蜘蛛已经在每个通道内埋下了坚固的大网,无论飞蛾进入哪个通道,他只有死路一条!(因为他是无法挣脱超级蛛网的) 现在,001和002分别驻扎在某两个通道内.各通道通过内线相通,通过每条内线需要一定的时间.当特种飞蛾被困某处,001或002

孪生蜘蛛

codevs1020 孪生蜘蛛 1020 孪生蜘蛛 题目描述 Description 在G城保卫战中,超级孪生蜘蛛Phantom001和Phantom002作为第三层防卫被派往守护内城南端一带极为隐秘的通道. 根据防护中心的消息,敌方已经有一只特种飞蛾避过第二层防卫,直逼内城南端通道入口.但优秀的蜘蛛已经在每个通道内埋下了坚固的大网,无论飞蛾进入哪个通道,他只有死路一条!(因为他是无法挣脱超级蛛网的) 现在,001和002分别驻扎在某两个通道内.各通道通过内线相通,通过每条内线需要一定的时间.当

Wikioi 1020 孪生蜘蛛 Label:Floyd最短路

题目描述 Description 在G城保卫战中,超级孪生蜘蛛Phantom001和Phantom002作为第三层防卫被派往守护内城南端一带极为隐秘的通道. 根据防护中心的消息,敌方已经有一只特种飞蛾避过第二层防卫,直逼内城南端通道入口.但优秀的蜘蛛已经在每个通道内埋下了坚固的大网,无论飞蛾进入哪个通道,他只有死路一条!(因为他是无法挣脱超级蛛网的) 现在,001和002分别驻扎在某两个通道内.各通道通过内线相通,通过每条内线需要一定的时间.当特种飞蛾被困某处,001或002会迅速赶来把它结果掉

[Wikioi 1020]孪生蜘蛛

题目描述 Description 在G城保卫战中,超级孪生蜘蛛Phantom001和Phantom002作为第三层防卫被派往守护内城南端一带极为隐秘的通道. 根据防护中心的消息,敌方已经有一只特种飞蛾避过第二层防卫,直逼内城南端通道入口.但优秀的蜘蛛已经在每个通道内埋下了坚固的大网,无论飞蛾进入哪个通道,他只有死路一条!(因为他是无法挣脱超级蛛网的) 现在,001和002分别驻扎在某两个通道内.各通道通过内线相通,通过每条内线需要一定的时间.当特种飞蛾被困某处,001或002会迅速赶来把它结果掉

CodeVS 1020孪生蜘蛛

虽然最近最短路写的挺熟练的,但这道题还是坑了我两个小时..   题目大意:在一个无向图里找两个结点使在除了这两个结点以外的任意一个结点到这两个结点的权值最小.(距离为出发结点到两     个结点的最小权值).   算法:Floyd+枚举(SPFA蜜汁TLE..)      首先这道题读了好几遍都不知道它要求什么(题意好迷啊..),一直不明白什么叫最坏情况下的最优解,按自己的理解打了spfa,交    上去全wa..于是按着wa的数据手动画了个图,然后跟着答案去推,才发现是求一波最短路再枚举两个点

1020 孪生蜘蛛

1020 孪生蜘蛛 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题目描述 Description 在G城保卫战中,超级孪生蜘蛛Phantom001和Phantom002作为第三层防卫被派往守护内城南端一带极为隐秘的通道. 根据防护中心的消息,敌方已经有一只特种飞蛾避过第二层防卫,直逼内城南端通道入口.但优秀的蜘蛛已经在每个通道内埋下了坚固的大网,无论飞蛾进入哪个通道,他只有死路一条!(因为他是无法挣脱超级蛛网的) 现在,001和002分别驻扎在某两个通道内.

poj1178 floyd+枚举

http://poj.org/problem?id=1178 Description Centuries ago, King Arthur and the Knights of the Round Table used to meet every year on New Year's Day to celebrate their fellowship. In remembrance of these events, we consider a board game for one player,

USACO cowtour Floyd + 枚举

给出来的数据量还是可以的.题意:有若干个牧场,至少有两个不连通,一个牧场的直径就是牧场中最远的两个牧区的距离.要求找出几个牧场中最短的直径,就是找一条路径连接几个牧区,使这个直径最终最小. 基本方法,把整个图根据输入划分成几个不连通的牧区,然后求出每个牧区的直径(即每个连通块中的最长路径),然后枚举两个不在同一牧区的点,设blocks[i]记录第i个节点所在连通块的直径,那么result = min(blocks[i] + dis(i, j) + blocks[j]),可以用并查级判断两个点是否

Java基础教程:枚举类型

Java基础教程:枚举类型 枚举类型 枚举是将一具有类似特性的值归纳在一起的方法.比如,我们可以将周一到周日设计为一个枚举类型.彩虹的七种颜色设计为一个枚举类型. 常量实现枚举 我们通过定义常量的方式来实现,如下: Public static class RainbowColor { // 红橙黄绿青蓝紫七种颜色的常量定义 public static final int RED = 0; public static final int ORANGE = 1; public static fina