From lolanv

想越狱的小杉 

 
     
   
  背景 Background  
  这次小杉来到了经典美剧《越狱》的场景里…… 
他被抓起来了(-.-干嘛幻想这么郁闷的场景……)。 
小杉身为新一代的Scofield,在挖了半个月之后终于挖通牢房里的地道。 
在地道里,无数的管道路线困惑了他。

(若对情节有任何疑问,请观看原剧)

     
     
  描述 Description  
  小杉看了看自己的纹身,明白了整个管道网是由N个小房间和若干小房间之间的单向的管道组成的。 
小房间编号为不超过N的正整数。 
每个管道都有一个人品限制值,小杉只能在人品不超过该限制值时通过。 
小杉一开始在房间1,现在小杉想知道,每个小房间他最多能够以人品多少的状态到达。 
注意,小杉的人品在出发以后是不会改变的。
     
     
  输入格式 Input Format  
  每组测试数据的 
第一行有一个正整数N(1<=N<=2000)。 
接下来若干行描述管道,每行三个正整数A,B,R(1<=A,B<=N, 1<=R<1e5, A<>B),表示A房间有一条到达B房间的人品限制值为R的管道(注意从B房间不可由此管道到达A房间,即管道是单向的,每组A,B至多只出现一次)。 
整个输入数据以一行0 0 0结束。 
特别地,对于30%的数据,有N<=100
     
     
  输出格式 Output Format  
  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)
#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】想越狱的小杉相关推荐

  1. Vijos P1391 想越狱的小杉

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

  2. Vijos 1391 想越狱的小杉

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

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

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

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

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

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

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

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

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

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

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

  8. 8.17 想越狱的小杉 1535

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

  9. #104-[SPFA]想越狱的小杉

    Description 这次小杉来到了经典美剧<越狱>的场景里-- 他被抓起来了(-.-干嘛幻想这么郁闷的场景--). 小杉身为新一代的Scofield,在挖了半个月之后终于挖通牢房里的地 ...

最新文章

  1. SpringMVC过程中@RequestBody接收Json的问题 总是报415
  2. Istio-0.8.0在Minikube环境中快速启动Bookinfo示例
  3. 如何挖掘网站的核心关键词?
  4. 2019牛客暑期多校训练营(第八场)G Gemstones(模拟)
  5. 网络基础:收集必备的网络基础知识
  6. 中专计算机应用完整教学计划,中职生教学计划
  7. 基于 snowNLP的微博评论数据情感分析
  8. 当vs2005番茄助手试用过期,并报错的解决方法
  9. 时光倒流软件测试简历,时光倒流 28款数据恢复软件大比拼
  10. Python爬虫之爬取酷狗音乐
  11. 解决:(iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 8082 -j DNAT --to-destin
  12. 在敏捷2013中寻找答案
  13. 累死你的不是工作,而是工作方式
  14. 贪心--CF645E
  15. java word 颜色设置_如何为Word文档在Java中的背景颜色
  16. 不用看了,赶紧跟着敲一遍!
  17. 【小程序】中WXML的语法详解
  18. 服务端是如何主动推送信息到客户端的?
  19. linux lds,Linux LDS 文件格式详细分析.pdf
  20. 游戏服务器的压力测试应该如何进行

热门文章

  1. 数据库中函数和存储过程的区别总结
  2. Node.js实现车牌识别
  3. 如何制作u盘启动盘(微pe)
  4. 笔记:VLAN及交换机处理详细教程(Tagged, UnTagged and Native VLANS Tutorial)
  5. Couldn‘t get size: 0x800000000. Ubuntu18.04安装问题
  6. java基于PHP+MySQL教务选课管理系统的设计与实现
  7. RocketMQ Streams在云安全及 IoT 场景下的大规模最佳实践
  8. 台达屏幕modbus通信解析
  9. 你如何度过周末,就如何度过一生
  10. php文件post跨域,【php】跨域post请求