普及- 题目悬赏关注
  • 板块灌水区
  • 楼主hkl99
  • 当前回复8
  • 已保存回复8
  • 发布时间2024/10/4 20:31
  • 上次更新2024/10/4 23:08:59
查看原帖
普及- 题目悬赏关注
770439
hkl99楼主2024/10/4 20:31

题目

才20分

代码:

#include<bits/stdc++.h>
using namespace std;
long long n,m,u,v,w,f[101][101];
int main(){
	memset(f,0x7f,sizeof(f));
	scanf("%lld%lld",&n,&m);
	for(int i=1;i<=m;i++){
		scanf("%lld%lld%lld",&u,&v,&w);
		f[u][v]=min(f[u][v],w);
		f[v][u]=min(f[v][u],w);
	}
	for(int i=1;i<=n;i++){
		f[i][i]=0;
	}
	for(int k=1;k<=n;k++){
		for(int i=1;i<=n;i++){
			for(int j=1;j<=n;j++){
				if((i!=j)&&(j!=k)&&(k!=i)&&f[i][k]+f[k][j]<f[i][j]){
					f[i][j]=f[i][k]+f[k][j];
				}
			}
		}
	}
	for(int i=1;i<=n;i++){
		for(int j=1;j<=n;j++){
			printf("%lld ",f[i][j]);
		}
		printf("\n");
	}
	return 0;
}

2024/10/4 20:31
加载中...