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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • XXE payload

    XXE payload一、漏洞原理当xml可以控制,并且后端没有过滤时就存在XXE漏洞。xml解析是引用外部实体。二、漏洞测试平时burp抓包可以在请求头添加 Content-type:application/xml并添加xml语句如果报错或执行则有可能存在xxe漏洞,不断根据responsefuzz即可三、XXEpayload网上收集的payload————-…

    2022年5月10日
    123
  • map平均准确率_拓扑排序怎么排

    map平均准确率_拓扑排序怎么排给定一张 N 个点 M 条边的有向无环图,分别统计从每个点出发能够到达的点的数量。输入格式第一行两个整数 N,M,接下来 M 行每行两个整数 x,y,表示从 x 到 y 的一条有向边。输出格式输出共 N 行,表示每个点能够到达的点的数量。数据范围1≤N,M≤30000输入样例:10 103 82 32 55 95 92 33 94 82 104 9输出样例:1633211111#include<bits/stdc++.h>using

    2022年8月9日
    3
  • 万能模拟器eve-ng介绍[通俗易懂]

    万能模拟器eve-ng介绍[通俗易懂]作为一名网络工程师,通过模拟器来搭建实验环境是必不可少的,主流的网络模拟器有如下几款:PacketTracer是思科公司出的一款模拟器,只能模拟思科自己的设备,由于此款软件是纯软件模拟,所以思科设备的很多特性模拟的不是很好,可以应付CCNA的实验,只适合入门,再复杂点的环境就要找其他模拟器了。Dynamips是一个基于虚拟化的模拟器,用于模拟思科的路由器,中国大神-小凡通过添加GUI用户界面开发…

    2022年5月18日
    129
  • linux 日期转换时间戳_将时间戳转为时间

    linux 日期转换时间戳_将时间戳转为时间时间戳与日期的转换最近项目上需要用到时间戳,查找了资源终于找到了实现方式,最后时间戳还需要转换成具体的日志格式,查阅了一些资料,还是没有找到具体的实现方式,所以这里总结一些,防止其他小伙伴就掉坑,实现是在freeRTOS系统上的,当前我在linux下尝试实现以下。运行效果最近项目上需要用到时间戳,查找了资源终于找到了实现方式,最后时间戳还需要转换成具体的日志格式,查阅了一些资料,还是没有找到具体的实现方式,所以这里总结一些,防止其他小伙伴就掉坑,实现是在freeRTOS系统上的,当前我在linux下尝试实

    2022年9月27日
    0
  • String[]数组初始化「建议收藏」

    String[]数组初始化「建议收藏」创建数组://一维数组String[]str=newString[5];//创建一个长度为5的String(字符串)型的一维数组String[]str=newString[]{“”,””,””,””,””};String[]str={“”,””,””,””,””};//二维数组String[][]str=newString[2][2];//

    2022年7月18日
    184
  • mysql中的union和order by、limit

    mysql中的union和order by、limit

    2021年10月15日
    45

发表回复

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

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