“ Ctrl AC!一起 AC!”
我的翻译:
描述:
有N个城市,给出了城市之间的边的长度。请找到索引id最大的城市,该城市在城市1和城市id之间存在一条路径,该路径的长度不超过K。
输入:
第一行:两个正整数N(N<=100)和K(K<=10000)。接下来的N行:第i行包含N个非负整数(<=100),表示城市i和其他城市之间的边缘长度。
输出:
一个整数id。
AC代码:
#include<iostream>
using namespace std;
int map[105][105];
int main(){
int n,k;cin>>n>>k;
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
cin>>map[i][j];
}
}
for(int k=1;k<=n;k++){
for(int j=1;j<=n;j++){
map[1][j]=min(map[1][j],map[1][k]+map[k][j]);
}
}
for(int j=n;j>=1;j--){
if(map[1][j]<=k){
cout<<j<<endl;
break;
}
}
return 0;
}
感谢阅读!!!
“ Ctrl AC!一起 AC!”