想越狱的小衫
来源:互联网 发布:360压缩mac版 编辑:程序博客网 时间:2024/05/17 08:16
【故事背景】:
这次小杉来到了经典美剧《越狱》的场景里……
他被抓起来了(-.-干嘛幻想这么郁闷的场景……)。
小杉身为新一代的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号的小房间,小杉最多能够以人品多少的状态到达。
【输入样例】:
4
1 2 30
1 3 20
2 3 25
3 4 30
2 4 20
0 0 0
【输出样例】:
30
25
25
代码:
var
a:array [1..2000,1..2000] of longint;
f:array [1..6200] of boolean;
d,c:array [1..6200] of longint;
i,j,k,m,n,x,y,z,mn,b:longint;
begin
fillchar(f,sizeof(f),true);
fillchar(d,sizeof(d),0);
fillchar(a,sizeof(a),0);
readln(n);
readln(x,y,z);
a[x,y]:=z;
while (x<>0) and (y<>0) and (z<>0) do
begin
a[x,y]:=z;
readln(x,y,z);
end;
for i:=1 to n do
begin
d[i]:=a[1,i];
end;
d[1]:=0;
k:=1;
f[1]:=false;
for i:=1 to n-1 do
begin
mn:=-1;
for j:=1 to n do
if (f[j]) and (d[j]>mn) then
begin
mn:=d[j];
k:=j;
end;
f[k]:=false;
for j:=1 to n do
begin
if a[k,j]>d[k] then
if (f[j]) and (a[k,j]<>0) and (d[j]<d[k]) then
d[j]:=d[k];
if a[k,j]<d[k] then
if (f[j]) and (a[k,j]<>0) and (d[j]<a[k,j]) then
d[j]:=a[k,j];
end;
end;
for i:=2 to n do
writeln(d[i]);
end.
- 想越狱的小衫
- 【SPFA】想越狱的小杉
- Vijos 1391 想越狱的小杉
- Codevs 4019 想越狱的小明
- 8.17 想越狱的小杉 1535
- 【图论-最短路变形】想越狱的小杉
- |Vijos|图论最短路|P1391 想越狱的小杉
- 【vijos】【spfa最短路】想越狱的小杉
- 【vijos】【图论】【最短路径】【SPFA】想越狱的小杉
- 【CodeVS4019】想越狱的黎恒健
- 越狱
- 越狱
- 越狱
- 越狱
- 越狱
- 越狱
- 越狱
- 《越狱》的中国隐秘流行
- onInterceptTouchEvent 与 onTouchEvent 分析与MotionEvent在ViewGroup与View中的分发
- java语言概述
- OC笔记心得存档---深浅复制
- laravel5.1和laravel5.2 模版没有HTML和Form方法,下面是添加HTML和Form的步骤
- c_基本概念
- 想越狱的小衫
- APK常用启动方式
- 使用淘宝中间件cobar实现mysql分库分表
- 安装Ubuntu 15.04后要做的事
- 给float元素居中
- 黎万强的《参与感》到底写了什么?
- Keil、uVision、MDK、Keil C51之间的区别比较
- c_分支结构
- ANSI,UTF-8,Unicode,ASCII编码的区别