背景
這次小杉來到了經典美劇《越獄》的場景裡……
他被抓起來了(-.-幹嘛幻想這麼鬱悶的場景……)。
小杉身為新一代的scofield,在挖了半個月之後終於挖通牢房裡的地道。
在地道裡,無數的管道路線困惑了他。
(若對情節有任何疑問,請**原劇)
描述小杉看了看自己的紋身,明白了整個管道網是由n個小房間和若干小房間之間的單向的管道組成的。
小房間編號為不超過n的正整數。
對於某個管道,小杉只能在人品不超過一定程度時通過。
小杉一開始在房間1,現在小杉想知道,每個小房間他最多能夠以人品多少的狀態到達。
注意,小杉的人品在出發以後是不會改變的。
格式輸入格式
每組測試資料的
第一行有乙個正整數n(1<=n<=2000)。
接下來若干行描述管道,每行三個正整數a,b,r(1<=a,b<=n),表示a房間有一條到達b房間的管道,且小杉的人品不超過r時可以通過(注意從b房間不可由此管道到達a房間,即管道是單向的)
整個輸入資料以一行0 0 0結束
特別地,對於30%的資料,有n<=100
輸出格式
對每組測試資料輸出n-1行,分別表示對於2到n號的小房間,小杉最多能夠以人品多少的狀態到達。
樣例1樣例輸入1
4
1 2 30
1 3 20
2 3 25
3 4 30
2 4 20
0 0 0
樣例輸出1
30
2525
限制
每個測試點1s
提示對於樣例資料:
小杉最多能夠在人品為30的情況下到達小房間2(1->2)
小杉最多能夠在人品為25的情況下到達小房間3(1->2->3)
小杉最多能夠在人品為25的情況下到達小房間4(1->2->3->4)
方法一:
取巧的方法,成功地把資料被氵過去了
二分查詢答案+bfs判斷是否能到終點,時間複雜度n*m*log(maxn)(正解還沒有看,先氵一波)
方法二:
(應該是正解吧)
先按邊的大小排序,然後不斷地把大邊往圖里建,然後每次從這條大邊做一次 sp
fas pf
a修改答案
顯然,這裡的時間複雜度遠小於 n∗
m n∗m
(反正我不會算,就瞎寫乙個吧)
方法一的ac情況:
方法二的ac情況:
氵題的**
#include
#include
using namespace std;
int n,tot,maxn;
int lnk[2005],q[2005],ans[2005];
bool vis[2005];
struct edge
e[4000005];
int readln()
void add(int
x,int
y,int v)
int max(int
x,int
y)bool bfs(int limit,int goal)}}
return false;
}int main()
for (int i=2;i<=n;i++)
}for (int i=2;i<=n;i++) printf("%d\n",ans[i]);
return
0;}
正解
#include
#include
#define maxn 2005
using namespace std;
int n,tot,cnt;
int lnk[maxn],q[maxn],ans[maxn],a[maxn*maxn],b[maxn*maxn],c[maxn*maxn];
struct edge
e[maxn*maxn];
int readln()
void add(int
x,int
y,int v)
int min(int
x,int
y)bool spfa(int
x) }
}return false;
}void qsort(int l,int r)
} while (i<=j);
if (iif (lint main()
qsort(1,tot);
ans[1]=0x7fffffff;
for (int i=1;i<=tot;i++)
for (int i=2;i<=n;i++) printf("%d\n",ans[i]);
return
0;}
想越獄的小衫
故事背景 這次小杉來到了經典美劇 越獄 的場景裡 他被抓起來了 幹嘛幻想這麼鬱悶的場景 小杉身為新一代的scofield,在挖了半個月之後終於挖通牢房裡的地道。在地道裡,無數的管道路線困惑了他。若對情節有任何疑問,請 原劇 問題描述 小杉看了看自己的紋身,明白了整個管道網是由n個小房間和若干小房間之...
8 17 想越獄的小杉 1535
背景 background 這次小杉來到了經典美劇 越獄 的場景裡 他被抓起來了 幹嘛幻想這麼鬱悶的場景 小杉身為新一代的scofield,在挖了半個月之後終於挖通牢房裡的地道。在地道裡,無數的管道路線困惑了他。若對情節有任何疑問,請 原劇 描述description 小杉看了看自己的紋身,明白了整...
spfa SSL 1535 想越獄的小杉
description 小杉看了看自己的紋身,明白了整個管道網是由n個小房間和若干小房間之間的單向的管道組成的。小房間編號為不超過n的正整數。每個管道都有乙個人品限制值,小杉只能在人品不超過該限制值時通過。小杉一開始在房間1,現在小杉想知道,每個小房間他最多能夠以人品多少的狀態到達。注意,小杉的人品...