POJ1062 昂貴的聘禮 最短路徑

2021-07-11 04:26:24 字數 1029 閱讀 2428

題意:

中文題要點:

等級比較難處理,注意題目中是間接接觸也不行,所以假如酋長等級是5,差距為2,可以交換的等級有(3,4,5),(4,5,6),(5,6,7),也即是區間長度是m,交換中最大的與最小的差為m。所以列舉等級區間,所有可行的區間dijkstra一遍,求總的最小值。還要注意這題每個點最短路徑求出後要加上當前點物品價值,最後求最小。

15386959

seasonal

1062

accepted

208k

0msc++

1297b

2016-04-13 16:28:25

#include#include#include#define inf 0x3f3f3f3f

#define min(a,b) a>b?b:a

int n, m;

int map[105][105],rate[105],dis[105],cost[105];

bool vis[105],limit[105];

int dijkstra()

vis[temp] = false;

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

if (vis[j] && dis[temp] + map[temp][j] < dis[j] && limit[j])

dis[j] = dis[temp] + map[temp][j];

} min = inf;

for (int i = 1; i <= n; i++)//路徑求出最小值還要加上當前物品價值

return min;

}int main()

} int minx = inf;

for (int i = 0; i <= m; i++)//注意不是比較相鄰的等級,要與最大的那個比較,就是區間長度要是m

minx = min(minx, dijkstra());

} printf("%d\n", minx);

return 0;

}

昂貴的聘禮 poj 1062 最短路

沒看好題目條件 隨便寫了個弗洛伊德就交了 實際上兩個身份差距大的人是連間接交易都不允許的 所以列舉每個等級區間並對其用dijkstra演算法找最小值 ac include include include include include include include include include ...

POJ 1062 昂貴的聘禮 最短路

假設乙個起點0,根據題目給出的權值構圖,答案就是從0到1之間的最短路。這裡要注意的是這個等級限制的問題。首先等級限制不是相鄰點之間的限制,而是整體路徑的。等級的限制可以通過假設乙個點為最低點求最短路,我假設某個點是最短路中等級最低的,然後求最短路。每列舉乙個點就求一次最短路,取最小的值。因為你列舉的...

poj 1062昂貴的聘禮(最短路)

題目 昂貴的聘禮 time limit 1000ms memory limit 10000k total submissions 61174 accepted 18489 description 年輕的探險家來到了乙個印第安部落裡。在那裡他和酋長的女兒相愛了,於是便向酋長去求親。酋長要他用10000...