51nod 1366 贫富差距(最短路)
2017-09-30 19:35
204 查看
数据这么小,floyd暴力水过
求出任意两点间最短路,找最大的最短路。
求出任意两点间最短路,找最大的最短路。
#include <bits/stdc++.h> using namespace std; const int INF = 550; const int MAXN = 55; int G[55][55]; int main() { int T,n,d; char ch; scanf("%d",&T); while(T--) { scanf("%d %d",&n,&d); for(int i = 0; i < n; ++i) { for(int j = 0; j < n; ++j) { scanf(" %c",&ch); if(i == j) { G[i][j] = 0; continue; } if(ch == 'Y') G[i][j] = 1; else G[i][j] = INF; } } for(int k = 0; k < n; ++k) { for(int i = 0; i < n; ++i) { for(int j = 0; j < n; ++j) { if(G[i][k]+G[k][j] < G[i][j]) G[i][j] = G[i][k]+G[k][j]; } } } bool flag = false; int res = 0; for(int i = 0; i < n; ++i) { for(int j = i+1; j < n; ++j) { if(G[i][j] == INF) { flag = true; break; } res = max(res,G[i][j]); } if(flag) { break; } } if(flag) { puts("-1"); } else printf("%d\n",res*d); } return 0; }
相关文章推荐
- 51nod 1366 贫富差距
- 51Nod-1366 贫富差距
- 51Nod 1366 贫富差距
- 51nod oj 1366 贫富差距【枚举+最长的短路】
- 51nod-1366:贫富差距
- 51Nod-1366-贫富差距
- 51nod 1366 贫富差距【并查集+Floyd】
- 51nod 1366 贫富差距 弗洛伊德
- 51nod 1366 贫富差距(flody)
- 51nod 1366 贫富差距 (并查集+最短路径)
- 51nod 1366 贫富差距
- 51nod 1459 迷宫游戏 最短路
- 51Nod 1459 迷宫游戏 (最短路)
- 51Nod 迷宫问题(最短路+权值)(模板)
- 51nod 1445 变色DNA(最短路变形)
- [最短路 主席树 Hash] 51Nod 算法马拉松26 E Travel
- 51nod 1445 变色DNA【最短路SPFA+思维】
- 51Nod 1445(考建图的最短路)
- 51nod 1444 破坏道路 最短路
- 【51Nod】1459 - 迷宫游戏(bfs & 优先队列 & 最短路)