該題是做最短路專題時的題,但是可惜沒有想到如何進行最短路求解。倒是覺得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金幣。如果你能夠弄來他的水晶球,...