pku 1062 昂貴的聘禮 第一周訓練 最短路

2022-05-24 02:54:09 字數 1106 閱讀 1698

這道題太讓我糾結了。。才開始把提議理解錯了,就是那個等級問題,我以為只要交易的雙方的等級差異<=m就可以呢。結果樣例過了無限的wa最後搜了一下解題報告才看懂個那個等級問題。他是交易的所有人的等級差異都要<=m才是滿足條件的。。。唉。。列舉所有可能參與交易的物件+dijkstra求最短路就可以了。。。可是在這裡我就卡死了。。。有個問題使我不解也討論了很久還是沒發現。。

**中見。。求解

view code

#include 

#include

#include

#define maxn 107

#define inf 99999999

using

namespace std;

bool vt[maxn],ok[maxn];

int dis[maxn],map[maxn][maxn],leval[maxn],val[maxn];

int n,m;

void init()//

初始化}

}int dijkstra()

dis[1] = 0;

vt[1] = true;

/*我開始是這樣處理的,discuss裡面的所有資料都過了,不過還是wa不解

求大牛解釋

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

vt[1] = true;

*/for (k = 1; k <= n; ++k)

}vt[j] = true;

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

int m = dis[1] + val[1];

for (i = 2; i <= n; ++i)//

列舉出1所能到達的最近點

return m;

}int main()

}int t = leval[1];

int ans = inf;

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

int c = dijkstra();

if (ans > c) ans = c;

}printf("

%d\n

",ans);

return

0;}

pku 第一周訓練 模擬

給你一系列的左右括號的兩個表示方法,p和w.然後是有p向w轉換 pi表示第i個右括號前邊有幾個左括號 wi表示第i個右括號如果要找匹配的話,要找從後往前數幾個左括號與它匹配。include include include define maxn 25 using namespace std int ...

pku 第一周訓練 模擬

給你一系列的左右括號的兩個表示方法,p和w.然後是有p向w轉換 pi表示第i個右括號前邊有幾個左括號 wi表示第i個右括號如果要找匹配的話,要找從後往前數幾個左括號與它匹配。view code include include include define maxn 25 using namespac...

pku 1328 第一周訓練 貪心

這個題目就是每個島嶼對應乙個雷達區間,然後確定好雷達區間後,然後在將區間的s或者e從小到大排序,然後貪心。第一種按s從小到大排序 include include include include include define maxn 1007 using namespace std struct n...