I - Arbitrage ——最短路_spfa()算法
2017-07-20 15:04
465 查看
Think:
1知识点:最短路_spfa()算法——判断环的存在
2反思:
1>要努力做到善于总结,勤于反思
2>吸收空格
vjudge题目链接
建议参考博客
以下为Accepted代码
1知识点:最短路_spfa()算法——判断环的存在
2反思:
1>要努力做到善于总结,勤于反思
2>吸收空格
vjudge题目链接
建议参考博客
以下为Accepted代码
#include <cstdio> #include <cstring> #include <string> #include <map> #include <queue> using namespace std; const int L = 1e3 + 4; const int N = 44; double e , dis ; int n, vis ; map <string, int> m1; bool spfa(int x); int main(){ int m, i, j, k = 1; char st1[L], st2[L]; double v; while(scanf("%d", &n) && n){ getchar(); m1.clear(); for(i = 1; i <= n; i++){ scanf("%s", st1); m1[st1] = i; } for(i = 1; i <= n; i++){ for(j = 1; j <= i; j++){ if(i == j) e[i][j] = 1.0; else e[i][j] = e[j][i] = 0; } } scanf("%d", &m); getchar(); for(i = 1; i <= m; i++){ scanf("%s %lf %s", st1, &v, st2); e[m1[st1]][m1[st2]] = v; } bool flag = false; for(i = 1; i <= n; i++){ if(spfa(i)){ flag = true; break; } } if(flag) printf("Case %d: Yes\n", k++); else printf("Case %d: No\n", k++); } return 0; } bool spfa(int x){ queue <int> q; while(!q.empty()){ q.pop(); } memset(vis, 0, sizeof(vis)); memset(dis, 0, sizeof(dis)); vis[x] = 1, dis[x] = 1.0; q.push(x); while(!q.empty()){ int t1 = q.front(); q.pop(); vis[t1] = 0; for(int i = 1; i <= n; i++){ if(dis[t1]*e[t1][i] > dis[i]){ dis[i] = dis[t1]*e[t1][i]; if(dis[x] > 1.0){ return true; } if(!vis[i]){ vis[i] = 1; q.push(i); } } } } return false; }
相关文章推荐
- J - Invitation Cards——最短路_spfa()算法
- 【打CF,学算法——三星级】CodeForces 689B Mike and Shortcuts (最短路+spfa)
- poj 2240 Arbitrage 最短路变形 spfa
- 蓝桥杯 - 算法训练 - ALGO - 5 最短路(spfa)
- K - Candies——最短路_spfa()算法
- 蓝桥杯算法练习最短路(spfa)
- 暑假-最短路(Bellman-ford、spfa)-A - Arbitrage
- Bellman变形得来的SPFA最短算法(不能含负环);Floyd求两点间最短路,求有向图的闭包;
- 最短路的三种算法(Floyd、Dijkstra、SPFA)
- 浅谈最短路中的Bellman–Ford 算法 (SPFA
- 最短路(SPFA)算法
- HDU 1217 Arbitrage(最短路spfa判环)
- 算法训练 最短路 spfa
- F - Wormholes——最短路_spfa()算法+前向星
- 蓝桥杯, 算法训练 最短路 (SPFA)
- D - Silver Cow Party——最短路_spfa()算法
- 【算法系列学习】SPFA邻接表最短路 [kuangbin带你飞]专题四 最短路练习 F - Wormholes
- 最短路 spfa 算法 && 链式前向星存图
- 单源最短路 SPFA 算法模板
- HDU 1217 Arbitrage 【最短路,map+spfa】