昂貴的聘禮 最短路

2021-10-18 23:19:23 字數 759 閱讀 6727

昂貴的聘禮題目

思路:看y總的提高課,自己先想了想,但是不知道區間怎麼處理,看完之後豁然開朗,每次只用處理一段區間,依次列舉區間結束之後最短的便是需要的最少花費,需要定義乙個虛擬遠點,我們用0號點來定義,問題就轉化成了0號點到1號點的最短路

具體**如下

#include

#include

using

namespace std;

const

int n =

110, inf =

0x3f3f3f3f

;int n, m;

int g[n]

[n], level[n]

;int dist[n]

;bool st[n]

;int

dijkstra

(int down,

int up)

return dist[1]

;}intmain()

}int res = inf;

for(

int i=level[1]

- m; i<=level[1]

;++i) res =

min(res,

dijkstra

(i, i+m));

//列舉區間,區間必須包含level[1]不然就不能買1號物品了

cout << res << endl;

return0;

}

昂貴的聘禮 (最短路)

傳送門 年輕的探險家來到了乙個印第安部落裡。在那裡他和酋長的女兒相愛了,於是便向酋長去求親。酋長要他用10000個金幣作為聘禮才答應把女兒嫁給他。探險家拿不出這麼多金幣,便請求酋長降低要求。酋長說 嗯,如果你能夠替我弄到大祭司的皮襖,我可以只要8000金幣。如果你能夠弄來他的水晶球,那麼只要5000...

昂貴的聘禮 DFS 最短路

description 年輕的探險家來到了乙個印第安部落裡。在那裡他和酋長的女兒相愛了,於是便向酋長去求親。酋長要他用10000個金幣作為聘禮才答應把女兒嫁給他。探險家拿不出這麼多金幣,便請求酋長降低要求。酋長說 嗯,如果你能夠替我弄到大祭司的皮襖,我可以只要8000金幣。如果你能夠弄來他的水晶球,...

最短路徑 昂貴的聘禮

problem description 年輕的探險家來到了乙個印第安部落裡。在那裡他和酋長的女兒相愛了,於是便向酋長去求親。酋長要他用10000個金幣作為聘禮才答應把女兒嫁給他。探險家拿不出這麼多金幣,便請求酋長降低要求。酋長說 嗯,如果你能夠替我弄到大祭司的皮襖,我可以只要8000金幣。如果你能夠...