codevs 2611 觀光旅遊

2021-08-09 18:34:31 字數 1424 閱讀 7433

某旅遊區裡面有n個景點。兩個景點之間可能直接有道路相連,用a[i][j]表示它的長度,否則它們之間沒有直接的道路相連。這裡所說的道路是沒有規定方向的,也就是說,如果從i到j有直接的道路,那麼從j到i也有,並且長度與之相等。

旅遊區規定:每個遊客的旅遊線路只能是乙個迴路(好霸道的規定)。也就是說,遊客可以任取乙個景點出發,依次經過若干個景點,最終回到起點。一天,smart決定到這個景區來旅遊,由於他實在已經很累了,於是他決定盡量少走一些路。

他想請你幫他求出最優的路線。怎麼樣,不是很難吧?

輸入有多組資料。對於每組資料:

第一行有兩個正整數n,m,分別表示景點個數和有多少對景點之間直接有邊相連(n≤100,m≤10000);

接下來m行,每行三個正整數,分別表示一條道路的兩端的編號,以及這條道路的長度(長度≤1000)。

對於每組資料,輸出一行,如果該迴路存在,則輸出乙個正整數,表示該迴路的總長度;否則輸出「no solution.」(不要輸出引號)

5 7

1 4 1

1 3 300

3 1 10

1 2 16

2 3 100

2 5 15

5 3 20

4 31 2 10

1 3 20

1 4 30

no solution.

n≤100,m≤10000

長度≤1000

我首先能從題麵中分析出來這是一道最小環問題, 之後就直接套模板,本蒟蒻還是初始化的問題上被wa了好久

#include 

#include

#include

#define maxn 1001

#define inf 1e8

using

namespace

std;

int n, m;

long

long x, y, z, ans;

long

long dis[maxn][maxn], es[maxn][maxn];

int main()

}ans = inf;

for(int i = 1; i <= m; i ++)

for(int k = 1; k <= n; k ++)

}for(int i = 1; i <= n; i ++) }}

}if(ans == inf)

printf("%lld\n", ans);

}return

0;}

觀光旅遊(最小環問題)

在桑給巴爾島的adelton城鎮上有乙個旅遊機構。它們決定在提供許多的其它吸引之外,再向客人們提供旅遊本鎮的服務。為了從提供的吸引服務中盡可能地獲利,這個旅遊機構接收了乙個精明決定 在相同的起點與終點之間找出一最短路線。你的任務是編寫一條程式來找類似的的一條路線。在這個鎮上,有n個十字路口 編號1至...

觀光旅遊 Floyed 最小環

time limit 20000ms memory limit 65536k total submit 292 accepted 144 case time limit 2000ms description 在桑給巴爾島的ade lton adelton adelto n城鎮上有乙個旅遊機構。它們決...

VIjosP1046觀光旅遊

背景 湖南師大附中成為百年名校之後,每年要接待大批的遊客前來參觀。學校認為大力發展旅遊業,可以帶來一筆可觀的收入。學校裡面有 個景點。兩個景點之間可能直接有道路相連,用dist i,j 表示它的長度 否則它們之間沒有直接的道路相連。這裡所說的道路是沒有規定方向的,也就是說,如果從i到j有直接的道路,...