4019 想越狱的小明

时间限制: 1 s

空间限制: 1000 KB

题目等级 : 钻石 Diamond

题目描述 Description

这次小明来到了经典美剧《越狱》的场景里……

它被抓起来了(-.-干嘛幻想这么郁闷的场景……)。

小明身为新一代的Scofield,在挖了半个月之后终于挖通牢房里的地道。

在地道里,无数的管道路线困惑了它。(若对情节有任何疑问,请观看原剧)

小明看了看自己的纹身,明白了整个管道网是由N个小房间和若干小房间之间的单向的管道组成的。

小房间编号为不超过N的正整数。

对于某个管道,小明只能在人品不超过一定程度时通过。

小明一开始在房间1,现在小明想知道,每个小房间他最多能够以人品多少的状态到达。

注意,小明的人品在出发以后是不会改变的。

输入描述 Input Description

每组测试数据的第一行有一个正整数N(1<=N<=2000)。

接下来若干行描述管道,每行三个正整数A,B,R(1<=A,B<=N),表示A房间有一条到达B房间的管道,且小明的人品不超过R时可以通过(注意从B房间不可由此管道到达A房间,

即管道是单向的)

整个输入数据以一行0 0 0结束

特别地,对于30%的数据,有N<=100

表示A房间有一条到达B房间的管道,且小明的人品不超过R时可以通过(注意从B房间不可由此管道到达A房间,

输出描述 Output Description

对每组测试数据输出N-1行,分别表示对于2到N号的小房间,小明最多能够以人品多少的状态到达。

样例输入 Sample Input

4

1 2 30

1 3 20

2 3 25

3 4 30

2 4 20

0 0 0

样例输出 Sample Output

30

25

25

数据范围及提示 Data Size & Hint

1s

小明最多能够在人品为30的情况下到达小房间2(1->2)

小明最多能够在人品为25的情况下到达小房间3(1->2->3)

小明最多能够在人品为25的情况下到达小房间4(1->2->3->4);

/*
Name: Codevs 4019
Copyright: yes.
Author: nancheng58
Date: 15-10-16 15:28
Description:
询问边权路径最大路径的最小值.
这题不用最大树+lca直接spfa暴力就好了.
dis[i]表示到i点的最大值.
*/
#include<iostream>
#include<cstdio>
#include<cstring>
#include<queue>
#define MAXN 2001
using namespace std;
int head[MAXN],dis[MAXN],n,m,cut;
struct data{int v,next,x;}e[MAXN*MAXN];
bool b[MAXN];
queue<int>q;
void add(int u,int v,int z)
{
e[++cut].v=v;
e[cut].x=z;
e[cut].next=head[u];
head[u]=cut;
}
int read()
{
int x=0,f=1;char ch=getchar();
while(ch<'0'||ch>'9'){if(ch=='-')f=-1;if(ch==EOF) return -1;ch=getchar();}
while(ch>='0'&&ch<='9') x=x*10+ch-48,ch=getchar();
return x*f;
}
void spfa()
{
memset(dis,0,sizeof dis);
dis[1]=1e9;
q.push(1);
while(!q.empty())
{
int u=q.front();q.pop();b[u]=false;
for(int i=head[u];i;i=e[i].next)
{
int v=e[i].v;
if(dis[v]<min(dis[u],e[i].x)) {
dis[v]=min(dis[u],e[i].x);
if(!b[v]) b[v]=true,q.push(v);
}
}
}
}
int main()
{
int x,y,z;
while((n=read())!=-1)
{
while(true)
{
x=read(),y=read(),z=read();
if(!x&&!y&&!z) break;
add(x,y,z);
}
spfa();
for(int i=2;i<=n;i++) printf("%d\n",dis[i]);
cut=0;memset(head,0,sizeof head);
}
return 0;
}

Codevs 4019 想越狱的小明的更多相关文章

  1. [vijos P1391] 想越狱的小杉

    考前最后一题,竟然是第一次码SPFA,虽然这个算法早有耳闻,甚至在闻所未闻之前自己有过一个类似的想法,说白了就是广搜啊,但是敲起来还是第一次啊,而且这还不是真正意义上的SPFA. 完全按照自己想法来码 ...

  2. codevs 2277 爱吃皮蛋的小明(水题日常)

    时间限制: 1 s  空间限制: 32000 KB  题目等级 : 白银 Silver 题目描述 Description 小明特别爱吃蛋,特别是皮蛋.他一次可以吃一个蛋或者两个蛋(整个吞下去),而且他 ...

  3. 小明的密码-初级DP解法

    #include #include #include using namespace std; int visited[5][20][9009];// 访问情况 int dp[5][20][9009] ...

  4. 小明系列问题――小明序列(LIS)

    小明系列问题――小明序列 Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Submit ...

  5. ACM 擅长排列的小明

    擅长排列的小明 时间限制:1000 ms  |  内存限制:65535 KB 难度:4   描述 小明十分聪明,而且十分擅长排列计算.比如给小明一个数字5,他能立刻给出1-5按字典序的全排列,如果你想 ...

  6. ACM 懒省事的小明

    懒省事的小明 时间限制:3000 ms  |  内存限制:65535 KB 难度:3   描述       小明很想吃果子,正好果园果子熟了.在果园里,小明已经将所有的果子打了下来,而且按果子的不同种 ...

  7. 管闲事的小明-nyoj51

    描述某校大门外长度为L的马路上有一排树,每两棵相邻的树之间的间隔都是1米.我们可以把马路看成一个数轴,马路的一端在数轴0的位置,另一端在L的位置:数轴上的每个整数点,即0,1,2,……,L,都种有一棵 ...

  8. nyist 240 小明的调查统计(二)

    http://acm.nyist.net/JudgeOnline/problem.php?pid=240 小明的调查统计(二) 时间限制:1000 ms  |  内存限制:65535 KB 难度:1 ...

  9. ACM题目————STL练习之 懒省事的小明(优先队列)

    描述 小明很想吃果子,正好果园果子熟了.在果园里,小明已经将所有的果子打了下来,而且按果子的不同种类分成了不同的堆.小明决定把所有的果子合成一堆. 因为小明比较懒,为了省力气,小明开始想点子了: 每一 ...

随机推荐

  1. python基础知识0-5(单双向队列)

    #多项队列import collections #导入模块d = collections.deque() #deque方法d.append('1') #添加元素d.appendleft('2')d.a ...

  2. 使用Qt 3D Studio 2.4显着提升性能(渲染速度提高了565%)

    发布于2019年6月18日星期二11评论Qt 3D Studio 2.4显着改善性能 发表于Biz Circuit&Dev Loop,设计,图形,性能,Qt 3D Studio 除了有效使用系 ...

  3. docker CMD 和 ENTRYPOINT 区别

    昨天用Dockerfile来启动mongodb的集群,启动参数--replSet死活没执行,最后就决定研究一哈cmd和entrypoint.但是上网看了一些资料个人觉得讲的不好,还是没有说出根本的东西 ...

  4. 7-Perl 数组

    1.Perl 数组Perl 数组一个是存储标量值的列表变量,变量可以是不同类型.数组变量以 @ 开头.访问数组元素使用 $ + 变量名称 + [索引值] 格式来读取,实例如下:#!/usr/bin/p ...

  5. GridView直接打印

    /// <summary> /// 打印功能 /// </summary> /// <param name="panel">打印控件</p ...

  6. A Pythonic Card Deck: __len__ & __getitem__ & for 循环的嵌套

    1. 列表生成式的嵌套 for 循环: 示例如下: li1 = range(1,6) li2 = list("ABC") # list("ABC") 的结果为 ...

  7. SVN客户端(TortoiseSVN)保存密码自动登录后,如何切换使用其它帐户登录方法

    清除SVN客户端(TortoiseSVN)保存的认证信息(用户名和密码) 1.选择TortoiseSVN---->Settings. 2.点"Clear” ,清空Authenticat ...

  8. 视频大文件分片上传(使用webuploader插件)

    背景 公司做网盘系统,一直在调用图片服务器的接口上传图片,以前写的,以为简单改一改就可以用 最初要求 php 上传多种视频格式,支持大文件,并可以封面截图,时长统计 问题 1.上传到阿里云服务器,13 ...

  9. js数组的所有方法

    修改器方法 下面的这些方法会改变调用它们的对象自身的值: Array.prototype.copyWithin()  在数组内部,将一段元素序列拷贝到另一段元素序列上,覆盖原有的值. Array.pr ...

  10. visio连接线随形状移动自动伸缩

    粘附可保持形状和连接线彼此依附.粘附打开时,可在移动形状时保持连接线跟着一起移动.粘附关闭时,移动形状时连接线将不会跟着移动. 1.在“视图”选项卡上的“视觉帮助​​”组中,单击对话框启动器 . 2. ...