floyed「建议收藏」

floyed「建议收藏」#include<iostream>#include<cstdio>#include<cstdlib>#include<cstring>#include<algorithm>usingnamespacestd;constintmaxn=405;constintinf=4000005;intd1[maxn][m…

大家好,又见面了,我是你们的朋友全栈君。

#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<algorithm>
using namespace std;
const int maxn=405;
const int inf=4000005;
int d1[maxn][maxn],n,m,g[maxn][maxn],d2[maxn][maxn],d3[maxn][maxn];//d1最短路径,d2最大边最小,d3最小边最大。 

void init()
{ 
   
	scanf("%d%d%d",&n,&m);
	for(int i=1;i<=n;i++)//初值 
	for(int j=1;j<=n;j++)
	{ 
   
		if(i==j) g[i][j]=0;
		else g[i][j]=inf;
	}
	for(int i=1;i<=m;i++)
	{ 
   
		int x,y,z;
		scanf("%d%d%d",&x,&y,&z);
		g[x][y]=z;
		g[y][x]=z;
	}
}

void floyd()
{ 
   
	memcpy(d1,g,sizeof(d1));
	memcpy(d2,g,sizeof(d2));
	memcpy(d3,g,sizeof(d3));
	
	for(int i=1;i<=n;i++)
	for(int j=1;j<=n;j++)
	if(d2[i][j]==inf)
	d2[i][j]=-inf;
	
    for(int k=1;k<=n;k++) 
    for(int i=1;i<=n;i++)
    for(int j=1;j<=n;j++)
    { 
   
       if(d1[i][k]+d1[k][j]<d1[i][j])
         d1[i][j]=d1[i][k]+d1[k][j];
         
       int x=min(d2[i][k],d2[k][j]);
       d2[i][j]=max(d2[i][j],x);
         
         
       int  t=max(d3[i][k],d3[k][j]); 
        d3[i][j]=min(d3[i][j],t); 
    }
}
int main()
{ 
   
	init();
	floyd();
	return 0;
}
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/147719.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 数组求和的方法_vb怎么求和数组里的值

    数组求和的方法_vb怎么求和数组里的值对于数组求和有多种方法:1:递归方法functionsum(arr){ varlen=arr.length; if(len==0){  return0; }elseif(len==1){  returnarr[0]; }else{  returnarr[0]+sum(arr.slice(1)); }}vara=newArray(1…

    2022年10月3日
  • videojs插件使用「建议收藏」

    videojs插件使用「建议收藏」videojs插件使用介绍:兼容性强,开源免费,文档清晰,界面可定制等使用整理:使用主要针对于移动端视频播放,考虑的点:视频显示适配手机宽度;适配定义样式;在微信端,安卓、ios视频空间控件不同,定制等会自动被微信视频控件覆盖;播放过程中定制暂停/播放按钮事件等;播放结束后定制重播、下一个视频事件,读秒播放下一个视频html<videoid=”videoPlay…

    2022年10月23日
  • pycharm激活吗破解方法

    pycharm激活吗破解方法,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月15日
  • 实用cmd指令(1)

    实用cmd指令(1)

    2021年8月19日
  • jmeter线程组的属性_netty线程模型详解

    jmeter线程组的属性_netty线程模型详解情境:最近用winform做一个小程序,主要是用来执行一些sql语句,无奈数据量太大,执行一次要二十分钟左右,执行期间界面根本不能再进行其它操作,就连最小化窗口都不行,一动就跟死机差不多了.因此到网上搜了一下,找到.net后台线程的概念.(高手请绕道!)前台线程和后台线程之间的选择.NETFramework中的所有线程都被指定为前台线程或后台线程。这两种线程唯一的区别是—后台线程不会

    2022年10月11日
  • 数据库优化-基准測试(一)

    数据库优化-基准測试(一)

    2022年2月3日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号