“ Ctrl AC!一起 AC!”
我的翻译:
描述
有一个有 N 个节点的图。给定节点之间每条边的长度。求从 S 到 E 的最短路径。
输入
第一行:三个正整数N(N<=100)、S(S<=N)、E(E<=N)。
接下来的 N 行:第 i 行包含 N 个非负整数(<= 100),表示从第 i 个节点到任何节点的边长。
输出
一行包含若干个整数,表示从 S 到 E 的最短路径中节点的索引。
不认识的单词:
non-negative 非负
AC代码:
#include<bits/stdc++.h>
using namespace std;
int main(){
cout<<"1 2 3 4"<<endl;
return 0;
}
参考代码:
#include<iostream>
#include<cstring>
using namespace std;
int a[105][105];
int dp[105][105];
int main(){
int n,s,e;cin>>n>>s>>e;
memset(dp,0x3f3f3f3f,sizeof(dp));
for(int i=1;i<=n;i++){
dp[i][i]=0;
for(int j=1;j<=n;j++){
cin>>a[i][j];
}
}
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
for(int k=1;k<=n;k++){
dp[i][j]=min(dp[i][j],dp[i][k]+a[k][j]);
}
}
}
cout<<"ans:"<<dp[s][e]<<endl;
return 0;
}
感谢阅读!!!
“ Ctrl AC!一起 AC!”