hdu1599 Floyd求最大环 最小环
来源:互联网 发布:淘宝淘部落是什么 编辑:程序博客网 时间:2024/05/18 01:10
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<queue>
#include<set>
#include<stack>
#include<iostream>
#include<algorithm>
#include<map>
#include<math.h>
using namespace std;
#define MAXN 110
#define MAX 0x7ffffff
int mp[MAXN][MAXN];
int dis[MAXN][MAXN];
int n,m;
int min(int x,int y)
{
return x>y?y:x;
}
void floyd()
{
int i,j,k;
int ans=MAX;
for(i=1;i<=n;i++)
{
for(j=1;j<=n;j++)
dis[i][j]=mp[i][j];
}
for(k=1;k<=n;k++)
{
for(i=1;i<k;i++)
{
for(j=i+1;j<k;j++)
{
ans=min(ans,dis[i][j]+mp[i][k]+mp[k][j]);
}
}
for(i=1;i<=n;i++)
{
for(j=1;j<=n;j++)
{
if(dis[i][j]>dis[i][k]+dis[k][j])
dis[i][j]=dis[i][k]+dis[k][j];
}
}
}
if(ans==MAX)
printf("It's impossible.\n");
else
printf("%d\n",ans);
return ;
}
int main()
{
int i,j,k;
while(scanf("%d%d",&n,&m)!=EOF)
{
for(i=1;i<=n;i++)
{
for(j=1;j<=n;j++)
{
mp[i][j]=MAX;
}
}
for(i=1;i<=m;i++)
{
int a,b,c;
scanf("%d%d%d",&a,&b,&c);
if(c<mp[a][b])
mp[a][b]=mp[b][a]=c;
}
floyd();
}
return 0;
}
-------------------------可以去百度下 黄劲松的 《图论中的环与块》
#include<stdlib.h>
#include<string.h>
#include<queue>
#include<set>
#include<stack>
#include<iostream>
#include<algorithm>
#include<map>
#include<math.h>
using namespace std;
#define MAXN 110
#define MAX 0x7ffffff
int mp[MAXN][MAXN];
int dis[MAXN][MAXN];
int n,m;
int min(int x,int y)
{
return x>y?y:x;
}
void floyd()
{
int i,j,k;
int ans=MAX;
for(i=1;i<=n;i++)
{
for(j=1;j<=n;j++)
dis[i][j]=mp[i][j];
}
for(k=1;k<=n;k++)
{
for(i=1;i<k;i++)
{
for(j=i+1;j<k;j++)
{
ans=min(ans,dis[i][j]+mp[i][k]+mp[k][j]);
}
}
for(i=1;i<=n;i++)
{
for(j=1;j<=n;j++)
{
if(dis[i][j]>dis[i][k]+dis[k][j])
dis[i][j]=dis[i][k]+dis[k][j];
}
}
}
if(ans==MAX)
printf("It's impossible.\n");
else
printf("%d\n",ans);
return ;
}
int main()
{
int i,j,k;
while(scanf("%d%d",&n,&m)!=EOF)
{
for(i=1;i<=n;i++)
{
for(j=1;j<=n;j++)
{
mp[i][j]=MAX;
}
}
for(i=1;i<=m;i++)
{
int a,b,c;
scanf("%d%d%d",&a,&b,&c);
if(c<mp[a][b])
mp[a][b]=mp[b][a]=c;
}
floyd();
}
return 0;
}
-------------------------可以去百度下 黄劲松的 《图论中的环与块》
- hdu1599 Floyd求最大环 最小环
- hdu1599 floyd 求最小环
- hdu1599+floyd最小环
- 最小环 hdu1599 Floyd算法
- hdu1599 find the mincost route floyd求最小环
- HDU1599 find the mincost route(floyd求最小环)
- Floyd求最小环 hdu1599 find the mincost route
- HDU1599 find the mincost route (floyd求最小环)
- HDU1599最小环权值,floyd
- hdu1599 find the mincost route(floyd求无向图最小环)
- floyd求最小环
- floyd求最小环
- floyd求最小环
- floyd求最小环
- FLOYD 求最小环
- floyd求最小环
- floyd求最小环
- Floyd求最小环
- 32位Win7下VS2010配置Opencv 2.3.1,No cmake
- 黑马程序员_毕向东_Java基础视频教程第十八天-IO流---学习笔记
- [Java] 不可思议的代码-- 类的初始化过程
- 深入分析Java ClassLoader原理
- java获取mac地址-屏蔽ip封mac地址
- hdu1599 Floyd求最大环 最小环
- 用虚拟硬盘.vmdk来装虚拟机
- aptana studio 乱码 问题 即编码 ISO-8859-1 与 UTF-8
- java实现单例 singleton
- 安装安卓APK文件到安卓模拟器之一
- 项目管理中的maven (2)
- 接触vim
- 存储过程
- 我的迷你博客