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 显然
by linch @ 2024-08-09 21:43:54
@tomato123 请您仔细计算空间。
by linch @ 2024-08-09 21:46:30
@tomato123 您确定
建议您出门右转学习 dijkstra 算法。
by tomato123 @ 2024-08-10 10:33:02
这样啊