我连Floyd都不会写啦/kk
  • 板块学术版
  • 楼主optimize_2
  • 当前回复10
  • 已保存回复10
  • 发布时间2020/9/9 18:19
  • 上次更新2023/11/5 13:30:27
查看原帖
我连Floyd都不会写啦/kk
224978
optimize_2楼主2020/9/9 18:19

RT

#include<bits/stdc++.h>
using namespace std;

long long dis[1010][1010];
int n,m,q;
int u,v,w;
int x,y;

void floyd() {
	for(int k=1;k<=n;k++)
		for(int i=1;i<=n;i++)
			for(int j=1;j<=n;j++)
				dis[i][j]=min(dis[i][j],dis[i][k]+dis[k][j]);
}

int main() {
	cin>>n>>m;
	for(int i=1;i<=n;i++)
		for(int j=1;j<=n;j++)
			if(i==j) dis[i][j]=0;
            else dis[i][j]=0x3f3f3f;
	for(int i=1;i<=m;i++) {
		cin>>u>>v>>w;
		dis[u][v]=dis[v][u]=w;
	}
	floyd();
	cin>>q;
	for(int i=1;i<=q;i++) {
		cin>>x>>y;
		else cout<<((dis[x][y]!=0x3f3f3f)?(dis[x][y]):(-1))<<endl;
	}
}
2020/9/9 18:19
加载中...