2090 旅行社的烦恼 (floyd 应用)
来源:互联网 发布:全球英语交流软件 编辑:程序博客网 时间:2024/04/27 16:32
题目链接
floyd算法可以算出任意2个点之间的距离,对于(i,j)之间的距离,可以加一个没有用过的点k,且(i,k) ,(k,j)是存在的,那么就可以在 (i,j) 之间形成一个环。
#include<cstdio>#include<cstring>#include<algorithm>#include<string>#include<vector>#include<queue>#include<iostream>using namespace std;#define LL __int64#define cl(a,b) memset(a,b,sizeof(a))#define pb push_backconst int maxn = 102;const int inf = 1<<25;const __int64 mod = 1000000007;int dp[maxn][maxn];int cost[maxn][maxn];void init(int n){ for(int i=0;i<=n;i++){ for(int j=0;j<=n;j++){ cost[i][j]=inf; cost[i][i]=0; } }}pair<int,int> floyd(int n){ for(int i=1;i<=n;i++)for(int j=1;j<=n;j++)dp[i][j]=cost[i][j]; int ans=0; int mi = inf; for(int k=1;k<=n;k++){ for(int i=1;i<k;i++){ for(int j=i+1;j<k;j++){ if(mi>dp[i][j]+cost[i][k]+cost[k][j]){ ans=1; mi=dp[i][j]+cost[i][k]+cost[k][j]; } else if(mi==dp[i][j]+cost[i][k]+cost[k][j]){ ans++; } } } for(int i=1;i<=n;i++){ for(int j=1;j<=n;j++){ dp[i][j]=min(dp[i][j],dp[i][k]+dp[k][j]); } } } return make_pair(mi,ans);}int main(){ int T;scanf("%d",&T); while(T--){ int n,m;scanf("%d%d",&n,&m); init(n); for(int i=0;i<m;i++){ int x,y,z;scanf("%d%d%d",&x,&y,&z); cost[x][y]=cost[y][x]=min(cost[x][y],z); } pair<int,int> ans=floyd(n); if((ans.first)>=inf){ puts("-1");continue; } printf("%d %d\n",ans.first,ans.second); } return 0;}
0 0
- 2090 旅行社的烦恼 (floyd 应用)
- fzu 2090 旅行社的烦恼【Floyd求最小环】
- fzu 2090 旅行社的烦恼
- FZU 2090 旅行社的烦恼 Floyd最小环求最短路
- fzu_2090_旅行社的烦恼
- 旅行社的烦恼
- fzu——旅行社的烦恼
- [最小环 最小环计数 最大平均环 模板题] POJ 1734 Sightseeing trip & FZU 2090 旅行社的烦恼 & POJ 2949 Word Rings
- 1635 floyd 的应用
- [BZOJ2843]极地旅行社(LCT)
- floyd算法的应用1
- hdu 4034(floyd应用)
- uva 247 Calling Circles(Floyd 的简单应用)
- HDU3631Shortest Path(Floyd的巧妙应用)经典
- poj 3660 Floyd应用(确定牛的位置)
- poj 3660 Cow Contest(Floyd的拓展应用)
- 初学者的烦恼(甩甩甩)
- 租房的烦恼(一)
- 使用Genymotion模拟器使用adb工具时出现adb server is out of date. killing...问题的解决
- 第一天写博客
- Quartz Spring与Spring Task总结
- 精神分裂症的一般治疗原则
- Object-C 类
- 2090 旅行社的烦恼 (floyd 应用)
- 插入排序的递归算法(升序)
- HFLibrary系列笔记之UI篇:RecyclerView、CardView那些事儿
- Java之mySQL
- 关系数据库入门级概念辨析
- 针对X5新内核Blink以及google chrome主要字体主动放大问题
- dreamwear制作下拉菜单
- 【湖南集训 4.13】c
- ldap安装配置