Floyd全MLE求调(玄关)

P4779 【模板】单源最短路径(标准版)

tomato123 @ 2024-08-09 21:40:39

样例都是对的

#include<bits/stdc++.h>
using namespace std;
long long n,m,s;
long long u,v,w;
long long a[10001][10001];
const long long intmax=65536;
int main(){
cin>>n>>m>>s;
for(int i=1;i<=n;i++)
for(int j=1;j<=n;j++)
a[i][j]=intmax;
for(int i=1;i<=n;i++)
a[i][i]=0;
for(int i=1;i<=m;i++)
{
    cin>>u>>v>>w;
    a[u][v]=w;
}
for(int k=1;k<=n;k++)
for(int i=1;i<=n;i++)
for(int j=1;j<=n;j++)
if(i==j||i==k||j==k)continue;
else if(a[i][j]>a[i][k]+a[k][j])
a[i][j]=a[i][k]+a[k][j];
for(int i=1;i<=n;i++)
     cout<<a[1][i]<<endl;
return 0;
}

by FFTotoro @ 2024-08-09 21:43:25

@tomato123 显然 10^5\times 10^5 的数组开不下。


by linch @ 2024-08-09 21:43:54

@tomato123 请您仔细计算空间。


by linch @ 2024-08-09 21:46:30

@tomato123 您确定 O(n^3) 能过此题 1e5 的数据?

建议您出门右转学习 dijkstra 算法。


by tomato123 @ 2024-08-10 10:33:02

这样啊


|