POJ 1062 昂貴的聘禮 (最短路變形)

2021-07-04 06:16:58 字數 868 閱讀 7788

中文題

解題思路:將酋長最為源點,用乙個結構體紀錄每個點到酋長的最短路,和級別範圍,在更新新節點時,就可以根據級別範圍判斷能否更新了

#include 

#include

#include

#include

#define n 110

#define m 10010

#define inf 0x3f3f3f3f

using

namespace

std;

struct people p[n];

struct changec[m];

struct state s[n];

int n, m, cnt;

int dis[n][n];

bool vis[n];

void init()

}memset(dis, 0x3f, sizeof(dis));

cnt = 0;

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

cnt++;}}

}void dijkstra()

s[1].dis = 0;

s[1].high = p[1].level;

s[1].low = p[1].level;

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

}vis[x] = 1;

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

int ans = inf;

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

printf("%d\n", ans);

}int main()

昂貴的聘禮 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...