Description

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

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

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

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

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

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

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

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

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

Input

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

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

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

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

Output

对每组测试数据输出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

HINT

对于样例数据:

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

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

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

SPFA变种,判断条件有些区别。

#include <iostream>
#include <queue>#define SIZE 2001
#define INF 2e+09using namespace std;struct edge
{int to, dis;
};vector<edge> graph[SIZE];
queue<int> q;
int dis[SIZE];
bool inqueue[SIZE];void spfa(void) // SPFA变种
{int u, v, w, i;dis[1] = INF;q.push(1);while (!q.empty()){u = q.front();q.pop();inqueue[u] = false;for (i = 0; i < graph[u].size(); ++i){v = graph[u][i].to;w = graph[u][i].dis;if (min(dis[u], w) > dis[v]) // 这里的判断条件有些不同.{dis[v] = min(dis[u], w);if (!inqueue[v]){q.push(v);inqueue[v] = true;}}}}return;
}int main(void)
{int n, u, v, w, i;scanf("%d", &n);while (scanf("%d%d%d", &u, &v, &w), ((u) || (v) || (w))){graph[u].push_back({v, w}); // 建图}spfa();for (i = 2; i <= n; ++i){printf("%d\n", dis[i]);}return 0;
}

#104-[SPFA]想越狱的小杉相关推荐

  1. 【vijos】【图论】【最短路径】【SPFA】想越狱的小杉

          From lolanv 想越狱的小杉               背景 Background     这次小杉来到了经典美剧<越狱>的场景里--  他被抓起来了(-.-干嘛幻想 ...

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

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

  3. Vijos P1391 想越狱的小杉

    Vijos P1391 想越狱的小杉 题目 背景 这次小杉来到了经典美剧<越狱>的场景里-- 他被抓起来了(-.-干嘛幻想这么郁闷的场景--). 小杉身为新一代的Scofield,在挖了半 ...

  4. Vijos 1391 想越狱的小杉

    Vijos 1391 想越狱的小杉 题目位置 https://vijos.org/p/1391 题目描述 小杉看了看自己的纹身,明白了整个管道网是由N个小房间和若干小房间之间的单向的管道组成的. 小房 ...

  5. 【图论-最短路变形】想越狱的小杉

    [图论-最短路变形]想越狱的小杉 Time Limit:1000MS  Memory Limit:65536K Description 背景 Background 这次小杉来到了经典美剧<越狱& ...

  6. [spfa]SSL 1535 想越狱的小杉

    Description 小杉看了看自己的纹身,明白了整个管道网是由N个小房间和若干小房间之间的单向的管道组成的. 小房间编号为不超过N的正整数. 每个管道都有一个人品限制值,小杉只能在人品不超过该限制 ...

  7. 【vijos】【spfa最短路】想越狱的小杉

    描述 小杉看了看自己的纹身,明白了整个管道网是由N个小房间和若干小房间之间的单向的管道组成的. 小房间编号为不超过N的正整数. 对于某个管道,小杉只能在人品不超过一定程度时通过. 小杉一开始在房间1, ...

  8. 8.17 想越狱的小杉 1535

    题目 题解 代码 题目 背景 Background 这次小杉来到了经典美剧<越狱>的场景里-- 他被抓起来了(-.-干嘛幻想这么郁闷的场景--). 小杉身为新一代的Scofield,在挖了 ...

  9. Vijos - 想越狱的小杉(最短路)

    题目链接:https://vijos.org/p/1391 背景 这次小杉来到了经典美剧<越狱>的场景里-- 他被抓起来了(-.-干嘛幻想这么郁闷的场景--). 小杉身为新一代的Scofi ...

最新文章

  1. java js引擎,Java8 Nashorn JavaScript引擎
  2. 2015年10月13日
  3. java面向对象程序设计董小园_java面向对象程序设计(董小园版).doc
  4. Uber如何使用go语言创建高效的查询服务
  5. html2canvas在不同设备生成图片大小不一致问题
  6. linux文件挂载和卸载命令,Linux基础命令(八)——挂载、卸载文件系统
  7. 传感器系列之4.6雨滴传感器
  8. 管理信息系统(学习笔记)
  9. Matlab图像、矩阵旋转、翻转函数 rot90、flipud、fliplr、imrotate、flipdim、flip详解
  10. 等值线/面生成一站式封装
  11. 图文并茂从根上理解装饰器设计模式
  12. 蚁人2:黄蜂女现身全集百度云资源
  13. JavaScript getMonth() 函数用法
  14. LeetCode精选TOP面试题(中等篇)【出现率降序】
  15. 手机\固定电话座机呼叫转移设置方法
  16. 基于网页在线图书小说电子书阅读系统 毕业设计毕设源码毕业论文开题报告参考(2)网站和用户功能
  17. 拿捏住C字符串,这个烦人程度不亚于指针的小东西
  18. pdf转图片在线转换怎么转?分享一个转换技巧
  19. 苹果手机打开浏览器显示无法连接服务器,苹果浏览器safari打不开网页因为无法连接服务器吗?...
  20. 东方欲晓,莫道君行早

热门文章

  1. RIA技术之争 谁将胜出?(转)
  2. Docker插件下载失败
  3. 马里奥游戏HTML的源码
  4. VUE的优缺点简单理解
  5. Arma3自动重启服务器,arma3管理员服务器重启 | 手游网游页游攻略大全
  6. 介绍几个主流社媒平台的特点,以及如何通过这些社媒渠道开展营销活动
  7. dx designer原理图转成 orcad cadence 16.6的原理图
  8. Tsu,Tco,Th,Tpd的概念
  9. Linux进入root
  10. CEF3开发者系列之CefEnableHighDPISupport详解