CSU1256 天朝的单行道(spfa)
1256: 天朝的单行道
Time Limit: 1 Sec Memory Limit: 128 MB
Submit: 281 Solved: 92
[Submit][Status][Web Board]
Description
然而小Q惊奇的发现,如今并不存在从城市1出发到城市N路线。
Input
两个城市之间可能有多条道路。
Output
Sample Input
2 1 1 22 1 2 12 0
Sample Output
0 1 -1
题目链接:点击打开链接
读入数据时, 对给出的边权值赋值为0, 其反向赋值为1, 进行一次最短路spfa运算就可以知道须要反向多少条路.
AC代码:
#include "iostream"
#include "cstdio"
#include "cstring"
#include "algorithm"
#include "queue"
#include "stack"
#include "cmath"
#include "utility"
#include "map"
#include "set"
#include "vector"
#include "list"
#include "string"
using namespace std;
typedef long long ll;
const int MOD = 1e9 + 7;
const int INF = 0x3f3f3f3f;
const int MAXN = 20005;
int n, m, num;
int fir[MAXN], nxt[MAXN], dis[MAXN], w[MAXN], v[MAXN], in[MAXN];
void add(int a, int b, int c)
{v[num] = b;nxt[num] = fir[a];w[num] = c;fir[a] = num++;
}
void spfa(int x)
{queue<int> q;dis[x] = 0, in[x] = 1;q.push(x);while(!q.empty()) {int u = q.front();q.pop();in[u] = 0;for(int i = fir[u]; i != -1; i = nxt[i])if(dis[v[i]] > dis[u] + w[i]) {dis[v[i]] = dis[u] + w[i];if(!in[v[i]]) {q.push(v[i]);in[v[i]] = 1;}}}
}
int main(int argc, char const *argv[])
{while(scanf("%d%d", &n, &m) != EOF) {memset(fir, -1, sizeof(fir));memset(dis, INF, sizeof(dis));num = 0;for(int i = 0; i < m; ++i) {int u, v;scanf("%d%d", &u, &v);add(u, v, 0);add(v, u, 1);}spfa(1);if(dis[n] == INF) printf("-1\n");else printf("%d\n", dis[n]);}return 0;
}
转载于:https://www.cnblogs.com/lytwajue/p/7339468.html
CSU1256 天朝的单行道(spfa)相关推荐
- NUPT大二队员淘汰赛1题解
NUPT大二队员淘汰赛1 比赛链接:http://acm.hust.edu.cn/vjudge/contest/view.action?cid=101409#overview 密码:acm1248 ...
- FZU - 2261 浪里个浪(多源最短路SPFA)
TonyY是一个喜欢到处浪的男人,他的梦想是带着兰兰姐姐浪遍天朝的各个角落,不过在此之前,他需要做好规划. 现在他的手上有一份天朝地图,上面有n个城市,m条交通路径,每条交通路径都是单行道.他已经预先 ...
- FZU2261 浪里个浪(最短路,spfa)(福州大学第十四届程序设计竞赛)
题目: Problem 2261 浪里个浪 Accept: 42 Submit: 108 Time Limit: 1500 mSec Memory Limit : 32768 KB P ...
- 洛谷 P3119 [USACO15JAN]草鉴定Grass Cownoisseur (SCC缩点,SPFA最长路,枚举反边)
P3119 [USACO15JAN]草鉴定Grass Cownoisseur 题目描述 In an effort to better manage the grazing patterns of hi ...
- 2019.08.12【NOIP提高组】模拟 B 组 模拟+DP+差分约束、spfa
文章目录 0 少女觉 1 灵知的太阳信仰 2 多段线性函数 3 DY引擎 差分约束系统 我很喜欢你,我会一直喜欢你到你不再需要我喜欢你为止.--顾飞 0 少女觉 在幽暗的地灵殿中,居住着一位少女,名为 ...
- 【BZOJ】1690: [Usaco2007 Dec]奶牛的旅行(分数规划+spfa)
http://www.lydsy.com/JudgeOnline/problem.php?id=1690 第一题不是水题的题.. 分数规划.. T-T 百度吧..http://blog.csdn.ne ...
- 【bzoj1690】[Usaco2007 Dec]奶牛的旅行 分数规划+Spfa
题目描述 作为对奶牛们辛勤工作的回报,Farmer John决定带她们去附近的大城市玩一天.旅行的前夜,奶牛们在兴奋地讨论如何最好地享受这难得的闲暇. 很幸运地,奶牛们找到了一张详细的城市地图,上面标 ...
- bzoj 1690: [Usaco2007 Dec]奶牛的旅行——分数规划+spfa判负环
Description 作为对奶牛们辛勤工作的回报,Farmer John决定带她们去附近的大城市玩一天.旅行的前夜,奶牛们在兴奋地讨论如何最好地享受这难得的闲暇. 很幸运地,奶牛们找到了一张详细的城 ...
- BZOJ 1003[ZJOI2006]物流运输(SPFA+DP)
Problem 1003. -- [ZJOI2006]物流运输 1003: [ZJOI2006]物流运输 Time Limit: 10 Sec Memory Limit: 162 MB Submit ...
- spfa(还不懂--)
粗略讲讲SPFA算法的原理,SPFA算法是1994年西安交通大学段凡丁提出 是一种求单源最短路的算法 算法中需要用到的主要变量 int n; //表示n个点,从1到n标号 int s,t; //s ...
最新文章
- 人工智能的下一个道德挑战:如何对待动物
- mybatis like的用法
- Oracle自定义函数
- 华为错误报告在哪个文件夹_华为手机隐藏的这7个秘密小技能,现在开启,手机还能再用3年...
- ExecutorService-10个要诀和技巧
- @async方法不调用了_在Spring中使用Future对象调用Async方法调用
- 1273 - Unknown collation: 'utf8mb4_0900_ai_ci'
- 一文带你梳理Clang编译步骤及命令
- 自定义 matplotlib 设置
- spring 属性注入
- spring boot 视图层(JAVA之学习-2)
- pagination分页(支持首页,末页,跳转)
- t450加固态硬盘教程_Thinkpad t450s拆机换240G ssd+加8G内存
- html闪屏代码,JS闪屏代码,闪瞎你的眼睛
- 网络爬虫工作原理分析
- 计算机开机黑屏90,终于晓得笔记本电脑开机黑屏检修步骤
- Springboot实现过滤器
- 台达伺服ASDA-B2调试
- 高音质游戏无线蓝牙耳机推荐,低延迟吃鸡王者兼容无压力
- CentOS和Ubuntu有什么不同