代码如下
for(int i=0;i<=n;i++){
for(int j=0;j<=n;j++){
w[i][j]=i!=j?LONG_LONG_MAX>>1:0;
}
}
for(int i=1;i<=m;i++){
int a,b,c;
cin>>a>>b>>c;
w[a][b]=min(w[a][b],c);
}
for(int k=1;k<=n;k++){
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
w[i][j]=min(w[i][k]+w[k][j],w[i][j]);
}
}
}
for(int i=2;i<=n;i++){
ans+=w[1][i]+w[i][1];
}
cout<<ans;
O()max=O(n^3+n^2)=1.01e9>5*1e8
同时开了 long long,cin 导致时间大幅上升,但是也能过(还不是卡常):
用时 3.19s 内存 8.06MB #10:713ms/8.06MB(O2)
请求加强数据