poj 1062 有限制的最短路

2021-09-06 11:07:06 字數 912 閱讀 5034

思路:要求對於最短路上的點,不能出現等級之差大於m,於是我們可以列舉,假設酋長的等級為level,於是這個區間範圍[level-m,level],[level-m+i,level+i],......,[level,level+m]都是可行的,對於列舉的每個區間範圍,做一次spfa即可,最終結果取最小值即可。

1 #include2 #include3 #include4 #include5 #include6

using

namespace

std;

7#define maxn 111

8#define inf 1<<30 910

intvalue[maxn],level[maxn];

11int

map[maxn][maxn];

12bool

vis[maxn],mark[maxn];

13int

dist[maxn];

14int

n,m,x;

1516

intspfa()

1731}32

}33}34

int ans=inf;

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

39return

ans;40}

4142

intmain()

4353

}54 min=inf;

55for(int i=0;i<=m;i++)

61 min=min(min,spfa());62}

63 printf("

%d\n

",min);64}

65return0;

66}6768

6970

71

view code

POJ 1062 有限制的最短路

題目鏈結 題意 n個人每人有乙個物品,每個物品可以直接買,也可以通過其他物品抵押加上少量的錢買,每個人有乙個等級,經過若干次交換購買的人中的最大等級差不能超過m。求要得到第一件物品的最少花費是多少?思路 如果沒有等級約束就是乙個最短路的模板題,根據a物品加w個金幣換到b物品,可以建立一條有向邊a b...

poj 1062 昂貴的聘禮 有限制的最短路

題意 探險家想娶酋長的女兒,需要昂貴的聘禮,但可以用其他物品加 替代,其他物品也可用另外的物品和 替代,求探險家最少需多少金幣可以娶到酋長的女兒?注意 等級限制 如果兩人地位等級差距超過了m,就不能 間接交易 但酋長的等級不一定最高 分析 求有等級限制的最短路,可以將每個物品 包括酋長允諾 看成乙個...

Poj1062 昂貴的聘禮 最短路加限制

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