【vijos】【图论】【最短路径】【SPFA】想越狱的小杉
想越狱的小杉 |
|||
|
样例输入 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) |
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <cstdlib>
using namespace std;int N;
struct Edge
{int u, v, d; Edge *next; Edge() {}Edge(int v, int d, Edge *next):v(v), d(d), next(next){}
}*edge[4000];
int dist[4005], S, T;
int queue[1999010];
bool Vst[4005];void init_file()
{freopen("prison.dat", "r", stdin);freopen("prison.out", "w", stdout);
}inline void Ins(int u, int v, int d)
{edge[u] = new Edge(v, d, edge[u]);//edge[v] = new Edge(u, d, edge[v]);return;
}void read_data()
{int x, y, z;scanf("%d", &N);while(scanf("%d%d%d", &x, &y, &z) == 3){if (x == 0 && y == 0 && z == 0) break;Ins(x, y, z);}S = 1;
}inline void Spfa()
{static int f = 0, r = 0, u, v; static Edge *p;memset(dist, 0, sizeof dist);for (dist[queue[r++] = S] = 999999, Vst[S] = 1; f < r;)for (p = edge[u = queue[f++]], Vst[u] = 0; p; p = p -> next){int k = min(dist[u], p -> d);if (dist[v = p -> v] < k){dist[v] = k;if (!Vst[v]) Vst[queue[r++] = v] = 1;}}return;
}void work()
{for(int i = 2; i <= N; i++){printf("%d\n", dist[i]);}
}int main()
{init_file();read_data();Spfa();work();return 0;
}
这个题就是改一下SPFA 很不错的一道题
松弛的时候用min(dist[u], p -> d)来松弛dist[v]
【vijos】【图论】【最短路径】【SPFA】想越狱的小杉相关推荐
- Vijos P1391 想越狱的小杉
Vijos P1391 想越狱的小杉 题目 背景 这次小杉来到了经典美剧<越狱>的场景里-- 他被抓起来了(-.-干嘛幻想这么郁闷的场景--). 小杉身为新一代的Scofield,在挖了半 ...
- Vijos 1391 想越狱的小杉
Vijos 1391 想越狱的小杉 题目位置 https://vijos.org/p/1391 题目描述 小杉看了看自己的纹身,明白了整个管道网是由N个小房间和若干小房间之间的单向的管道组成的. 小房 ...
- [vijos P1391] 想越狱的小杉
考前最后一题,竟然是第一次码SPFA,虽然这个算法早有耳闻,甚至在闻所未闻之前自己有过一个类似的想法,说白了就是广搜啊,但是敲起来还是第一次啊,而且这还不是真正意义上的SPFA. 完全按照自己想法来码 ...
- 【图论-最短路变形】想越狱的小杉
[图论-最短路变形]想越狱的小杉 Time Limit:1000MS Memory Limit:65536K Description 背景 Background 这次小杉来到了经典美剧<越狱& ...
- 【vijos】【spfa最短路】想越狱的小杉
描述 小杉看了看自己的纹身,明白了整个管道网是由N个小房间和若干小房间之间的单向的管道组成的. 小房间编号为不超过N的正整数. 对于某个管道,小杉只能在人品不超过一定程度时通过. 小杉一开始在房间1, ...
- Vijos - 想越狱的小杉(最短路)
题目链接:https://vijos.org/p/1391 背景 这次小杉来到了经典美剧<越狱>的场景里-- 他被抓起来了(-.-干嘛幻想这么郁闷的场景--). 小杉身为新一代的Scofi ...
- [spfa]SSL 1535 想越狱的小杉
Description 小杉看了看自己的纹身,明白了整个管道网是由N个小房间和若干小房间之间的单向的管道组成的. 小房间编号为不超过N的正整数. 每个管道都有一个人品限制值,小杉只能在人品不超过该限制 ...
- 8.17 想越狱的小杉 1535
题目 题解 代码 题目 背景 Background 这次小杉来到了经典美剧<越狱>的场景里-- 他被抓起来了(-.-干嘛幻想这么郁闷的场景--). 小杉身为新一代的Scofield,在挖了 ...
- #104-[SPFA]想越狱的小杉
Description 这次小杉来到了经典美剧<越狱>的场景里-- 他被抓起来了(-.-干嘛幻想这么郁闷的场景--). 小杉身为新一代的Scofield,在挖了半个月之后终于挖通牢房里的地 ...
最新文章
- SpringMVC过程中@RequestBody接收Json的问题 总是报415
- Istio-0.8.0在Minikube环境中快速启动Bookinfo示例
- 如何挖掘网站的核心关键词?
- 2019牛客暑期多校训练营(第八场)G Gemstones(模拟)
- 网络基础:收集必备的网络基础知识
- 中专计算机应用完整教学计划,中职生教学计划
- 基于 snowNLP的微博评论数据情感分析
- 当vs2005番茄助手试用过期,并报错的解决方法
- 时光倒流软件测试简历,时光倒流 28款数据恢复软件大比拼
- Python爬虫之爬取酷狗音乐
- 解决:(iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 8082 -j DNAT --to-destin
- 在敏捷2013中寻找答案
- 累死你的不是工作,而是工作方式
- 贪心--CF645E
- java word 颜色设置_如何为Word文档在Java中的背景颜色
- 不用看了,赶紧跟着敲一遍!
- 【小程序】中WXML的语法详解
- 服务端是如何主动推送信息到客户端的?
- linux lds,Linux LDS 文件格式详细分析.pdf
- 游戏服务器的压力测试应该如何进行
热门文章
- 数据库中函数和存储过程的区别总结
- Node.js实现车牌识别
- 如何制作u盘启动盘(微pe)
- 笔记:VLAN及交换机处理详细教程(Tagged, UnTagged and Native VLANS Tutorial)
- Couldn‘t get size: 0x800000000. Ubuntu18.04安装问题
- java基于PHP+MySQL教务选课管理系统的设计与实现
- RocketMQ Streams在云安全及 IoT 场景下的大规模最佳实践
- 台达屏幕modbus通信解析
- 你如何度过周末,就如何度过一生
- php文件post跨域,【php】跨域post请求