看了看讨论区,都是80分,似乎没有我这种WA#2的qwq
dalao看看,是哪里写错了啊qwq
#include<bits/stdc++.h>
#define o 105
#define itn int
using namespace std;
int n,m,s;
int ans,dis[o][o],v[o][o];
int read()
{
char c=getchar(); int x=0,f=1;
while(c<'0'||c>'9') {if(c=='-') f=-f; c=getchar();}
while(c>='0'&&c<='9') {x=(x<<3)+(x<<1)+c-'0'; c=getchar();}
return x*f;
}
int main()
{
cin>>n>>m;
ans=2147483647;
for(int i=1;i<=n;i++)
for(int j=1;j<=n;j++) v[i][j]=dis[i][j]=10000007;
for(int i=1;i<=m;i++)
{
int u,w,d;
u=read(); w=read(); d=read();
v[u][w]=v[w][u]=dis[u][w]=dis[w][u]=d;
}
for(int k=1;k<=n;k++)
{
for(int i=1;i<k;i++)
for(int j=i+1;j<k;j++) ans=min(ans,dis[i][j]+v[i][k]+v[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]+dis[k][j]);
dis[j][i]=dis[i][j];
}
}
if(ans==2147483647) printf("No solution.\n");
else printf("%d\n",ans);
return 0;
}