POJ 1062 昂貴的聘禮 dfs

2022-05-28 16:33:13 字數 1096 閱讀 7353

該題是做最短路專題時的題,但是可惜沒有想到如何進行最短路求解。倒是覺得dfs能夠得到結果,因為該題對於建立邊有嚴格的條件,遞迴能夠很好的解決這個約束。

每次遞迴時將當前路徑的最低等級和最高等級傳遞下去,然後再進行判斷。這裡還要注意判定環的存在。後者沒有注意的話會mle。

**如下:

#include #include 

#include

#include

#include

#define maxn 105

using

namespace

std;

intm, n, hash[maxn];

struct

dot;

struct

node

e[105

];int build(int x, int low, int

high)}}

return

min;

} int

main()

}hash[

1] = 1

; printf(

"%d\n

", build(1, e[1].rank, e[1

].rank));

return0;

}

網上的乙份純c**,夠精簡啊!

int g[100][100],a[100][100],pri[100],lvl[100

]; void

main()

} for(i=0;i0

; ans=pri[0

];

for(u=0;u<=m;u++)

}for(k=0;k)

for(i=0;i)

for(j=0;j)

if(a[i][k]+a[k][j]a[i][j]=a[i][k]+a[k][j];

for(i=0;i)

if(ans>a[0][i]+pri[i])

ans=a[0][i]+pri[i];

} printf(

"%d\n

",ans);

}

poj 1062 昂貴的聘禮(DFS)

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

POJ 1062 昂貴的聘禮 DFS

一件物品本事有乙個價值,他可以用另一件物品加上某個價值進行兌換。問得到物品1需要花費最少的價值是多少。注意是任意兩個人等級之差都不能超過m 此題神坑.酋長的等級不一定是最高的,而且還可能有內環,要注意標記 注意要判斷路徑內最小等級與最大等級之差,不能只判斷乙個 ans min ans,price g...

POJ 1062 昂貴的聘禮(DFS)

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