求助
查看原帖
求助
213107
hpcwdclcx楼主2020/7/13 21:40

调不对/kk

#include<bits/stdc++.h>
using namespace std;
int n,m,k,mp[10010][10010],f[10010][10010],a[10010];
int main()
{
	cin>>n>>m;
	for(int i=0;i<n;i++)cin>>a[i];
	for(int i=0;i<m;i++)
	{
		int u,v,w;
		cin>>u>>v>>w;
		f[u][v]=w;
		f[v][u]=w;
	}
	cin>>k;
	while(k--)
	{
		for(int i=0;i<n;i++)
			for(int j=0;j<n;j++)f[i][j]=0x3f3f3f3f;
		int u,v,t;
		cin>>u>>v>>t;
		for(int k=0;k<n;k++)
			for(int i=0;i<n;i++)
				for(int j=0;j<n;j++)
					if(i!=k&&k!=j&&i!=j&&a[i]>=t&&a[j]>=t&&a[k]>=t)
						f[i][j]=min(f[i][j],f[i][k]+f[k][j]);
		for(int i=0;i<n;i++)
		{
			for(int j=0;j<n;j++)cout<<f[i][j]<<" ";
			cout<<endl;
		}
		if(f[u][v]==0x3f3f3f3f)cout<<-1<<endl;
		else cout<<f[u][v]<<endl;
	}
	return 0;
}

违规自删

2020/7/13 21:40
加载中...