#104-[SPFA]想越狱的小杉
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]想越狱的小杉相关推荐
- 【vijos】【图论】【最短路径】【SPFA】想越狱的小杉
From lolanv 想越狱的小杉 背景 Background 这次小杉来到了经典美剧<越狱>的场景里-- 他被抓起来了(-.-干嘛幻想 ...
- [vijos P1391] 想越狱的小杉
考前最后一题,竟然是第一次码SPFA,虽然这个算法早有耳闻,甚至在闻所未闻之前自己有过一个类似的想法,说白了就是广搜啊,但是敲起来还是第一次啊,而且这还不是真正意义上的SPFA. 完全按照自己想法来码 ...
- Vijos P1391 想越狱的小杉
Vijos P1391 想越狱的小杉 题目 背景 这次小杉来到了经典美剧<越狱>的场景里-- 他被抓起来了(-.-干嘛幻想这么郁闷的场景--). 小杉身为新一代的Scofield,在挖了半 ...
- Vijos 1391 想越狱的小杉
Vijos 1391 想越狱的小杉 题目位置 https://vijos.org/p/1391 题目描述 小杉看了看自己的纹身,明白了整个管道网是由N个小房间和若干小房间之间的单向的管道组成的. 小房 ...
- 【图论-最短路变形】想越狱的小杉
[图论-最短路变形]想越狱的小杉 Time Limit:1000MS Memory Limit:65536K Description 背景 Background 这次小杉来到了经典美剧<越狱& ...
- [spfa]SSL 1535 想越狱的小杉
Description 小杉看了看自己的纹身,明白了整个管道网是由N个小房间和若干小房间之间的单向的管道组成的. 小房间编号为不超过N的正整数. 每个管道都有一个人品限制值,小杉只能在人品不超过该限制 ...
- 【vijos】【spfa最短路】想越狱的小杉
描述 小杉看了看自己的纹身,明白了整个管道网是由N个小房间和若干小房间之间的单向的管道组成的. 小房间编号为不超过N的正整数. 对于某个管道,小杉只能在人品不超过一定程度时通过. 小杉一开始在房间1, ...
- 8.17 想越狱的小杉 1535
题目 题解 代码 题目 背景 Background 这次小杉来到了经典美剧<越狱>的场景里-- 他被抓起来了(-.-干嘛幻想这么郁闷的场景--). 小杉身为新一代的Scofield,在挖了 ...
- Vijos - 想越狱的小杉(最短路)
题目链接:https://vijos.org/p/1391 背景 这次小杉来到了经典美剧<越狱>的场景里-- 他被抓起来了(-.-干嘛幻想这么郁闷的场景--). 小杉身为新一代的Scofi ...
最新文章
- java js引擎,Java8 Nashorn JavaScript引擎
- 2015年10月13日
- java面向对象程序设计董小园_java面向对象程序设计(董小园版).doc
- Uber如何使用go语言创建高效的查询服务
- html2canvas在不同设备生成图片大小不一致问题
- linux文件挂载和卸载命令,Linux基础命令(八)——挂载、卸载文件系统
- 传感器系列之4.6雨滴传感器
- 管理信息系统(学习笔记)
- Matlab图像、矩阵旋转、翻转函数 rot90、flipud、fliplr、imrotate、flipdim、flip详解
- 等值线/面生成一站式封装
- 图文并茂从根上理解装饰器设计模式
- 蚁人2:黄蜂女现身全集百度云资源
- JavaScript getMonth() 函数用法
- LeetCode精选TOP面试题(中等篇)【出现率降序】
- 手机\固定电话座机呼叫转移设置方法
- 基于网页在线图书小说电子书阅读系统 毕业设计毕设源码毕业论文开题报告参考(2)网站和用户功能
- 拿捏住C字符串,这个烦人程度不亚于指针的小东西
- pdf转图片在线转换怎么转?分享一个转换技巧
- 苹果手机打开浏览器显示无法连接服务器,苹果浏览器safari打不开网页因为无法连接服务器吗?...
- 东方欲晓,莫道君行早