idgg007 @ 2020-05-02 09:25:10
#include<iostream>
#include<cstring>
using namespace std;
int zhen[1005][1005];//邻接矩阵
int main(){
long long ans=0;
int n,m;
cin>>n>>m;
memset(zhen,0x3f,sizeof(zhen));
for(int i=0,a,b,w;i<m;i++){
cin>>a>>b>>w;
zhen[a][b]=w;
}for(int k=1;k<=n;k++)
for(int j=1;j<=n;j++)
for(int i=1;i<=n;i++)
if(k!=i&&j!=i&&k!=j&&zhen[j][i]>zhen[k][i]+zhen[j][k]){
zhen[j][i]=zhen[k][i]+zhen[j][k];
}
for(int i=2;i<=n;i++){
ans+=zhen[1][i];
ans+=zhen[i][1];
}cout<<ans;
return 0;
}
弗洛伊德算法 | MLE |
---|
有没有压空间的方法
by 暗魂✅ @ 2020-05-02 09:30:49
您的n三次方不超百万???
by XeCtera @ 2020-05-02 09:30:57
建议学习一些关于复杂度的知识
by idgg007 @ 2020-05-02 09:31:06
我不知道
by impuk @ 2020-05-02 09:31:16
@idgg007 等您过了踹我一脚。
我想看奇迹。
by RedreamMer @ 2020-05-02 09:31:39
@idgg007 等您过了踹我一脚。
我想看奇迹。
by XeCtera @ 2020-05-02 09:31:55
@idgg007 等您过了踹我一脚。
我想看奇迹。
by idgg007 @ 2020-05-02 09:32:17
@一只爬行者 没事我用的杰森特拉算法过了照样踹你一脚
by impuk @ 2020-05-02 09:32:33
@idgg007 不不不,要弗洛伊德的。
by impuk @ 2020-05-02 09:32:45
@idgg007 如果是别的过了就算了
by Resonaa @ 2020-05-02 09:38:08
%%%%%%%