求助!90,WA#4
查看原帖
求助!90,WA#4
906970
Jerry_Money楼主2024/8/5 13:29
#include<bits/stdc++.h>
#define int long long
using namespace std;
int _u,_v,_w;
int n,m;
struct sb{
	int v,w;
};
enum {
	SMXSB=114514,
	SMX_DONT_LOVE_HUTAO=1086
};
int dis[SMX_DONT_LOVE_HUTAO][SMX_DONT_LOVE_HUTAO];
int minn=1e13;
int w[186][186];
signed main(){
	cin>>n>>m;
	for(int i=1;i<=n;i++){
		for(int j=1;j<=n;j++){
			if(i-j)dis[i][j]=w[i][j]=1e13;
		}
	}
	for(int i=1;i<=m;i++){
		cin>>_u>>_v>>_w;
		dis[_u][_v]=min(dis[_u][_v],_w);
		dis[_v][_u]=min(dis[_v][_u],_w);
		w[_v][_u]=min(w[_u][_v],_w);
		w[_u][_v]=min(w[_v][_u],_w);
	}
	for(int k=2;k<=n;k++){
		for(int i=1;i<k;i++){
			for(int j=i+1;j<k;j++){
				minn=min(minn,dis[i][j]+w[i][k]+w[k][j]);
			}
		}
		for(int i=1;i<=n;i++){
			for(int j=1;j<=n;j++){
				dis[i][j]=min(dis[i][j],dis[i][k-1]+dis[k-1][j]);
				dis[j][i]=dis[i][j];
			}
		}
	}
	if(minn==1e13)cout<<"No solution.";
	else cout<<minn;
}
2024/8/5 13:29
加载中...