实在调不出来了,84分改到了92分……
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
ll n,m,g[101][101],g1[101][101],maxn,mi,mj,sum,ms=1e9;
void Floyd1()
{
for(ll k=1;k<=n;k++)
{
for(ll i=k+1;i<n;i++)
{
for(ll j=i+1;j<=n;j++)g1[i][j]=g1[j][i]=g[j][i]=g[i][j]=min(g[i][j],g[i][k]+g[k][j]);
}
}
}
void Floyd2()
{
for(ll k=1;k<=n;k++)
{
for(ll i=1;i<n;i++)
{
for(ll j=i+1;j<=n;j++)g1[j][i]=g1[i][j]=min(g1[i][j],g1[i][k]+g1[k][j]);
}
}
}
int main()
{
cin>>n>>m;
for(ll i=1;i<=n;i++)
{
for(ll j=1;j<=n;j++)g1[i][j]=g1[j][i]=g[i][j]=g[j][i]=1e9;
}
for(ll i=1;i<=m;i++)
{
ll u,v,w;
cin>>u>>v>>w;
g1[u][v]=g1[v][u]=g[u][v]=g[v][u]=w;
}
for(ll i=1;i<=n;i++)g[i][i]=0;
Floyd1();
for(ll o=1;o<n;o++)
{
for(ll l=o+1;l<=n;l++)
{
if(o==l)break;
g1[o][l]=sum=0;
Floyd2();
for(ll i=1;i<n;i++)
{
for(ll j=i+1;j<=n;j++)
{
sum+=g1[i][j];
g1[i][j]=g1[j][i]=g[i][j];
}
}
if(ms>sum)ms=sum;
}
}
cout<<ms;
}
QAQ