求助,蒟蒻觉得没有问题啊
查看原帖
求助,蒟蒻觉得没有问题啊
705170
longtong楼主2022/11/16 08:49
#include<bits/stdc++.h>
using namespace std;
int dist[3005][3005];
int m,n,ans,t,s,e,h,c,d;
const int maxn=0x7fffffff;

void floyed()
{
	for(int k=1;k<=n;k++)
		for(int i=1;i<=n;i++)
			for(int j=1;j<=n;j++)
				if(dist[i][k]+dist[k][j]<dist[i][j])
					dist[i][j]=dist[i][k]+dist[k][j];
}

int main()
{
	memset(dist,maxn,sizeof dist);
	scanf("%d%d%d",&n,&m,&t);
	
	for(int i=1;i<=m;i++)
	{
		 int x,y,h;
		 scanf("%d%d%d",&x,&y,&h);
         dist[x][y]=h;
	}
	floyed();
	for(int i=1;i<=t;i++)
	{
		int x,y;
		scanf("%d%d",&x,&y);    
      	if(dist[x][y]!=maxn) cout<<dist[x][y]<<endl;
      	else cout<<"-1"<<endl;
	}
			
	return 0;
} 
2022/11/16 08:49
加载中...