原题链接:等待戈多
解题思路:
正常并应该直接迪杰斯特拉或者弗洛伊德算法求最短时间。。。
但是,,这道题,,不需要求最短路径,直接输出就好?????????
戈多最快到达的时间是多少?不算最短时间??wtf??
注意事项:
@管理员,,题是不是出错了。。
参考代码:
这个是过了的。。
#include <iostream>
using namespace std;
int main() {
int n, x;
int m, j, k;
double map[502][502] = {0}, v;
cin >> n >> x;
for (m = 1; m <= n; ++m) {
for (j = 1; j <= n; ++j) {
cin >> map[m][j];
}
}
for (m = 1; m <= n; ++m) {
for (j = 1; j <= n; ++j) {
cin >> v;
if (v == 0)
continue;
map[m][j] /= v;
}
}
printf("%.2lf\n", map[1][x]);
return 0;
}这个是讲道理应该对的
#include <iostream>
using namespace std;
int main() {
int n, x;
int m, j, k;
double map[502][502] = {0}, v;
cin >> n >> x;
for (m = 1; m <= n; ++m) {
for (j = 1; j <= n; ++j) {
cin >> map[m][j];
}
}
for (m = 1; m <= n; ++m) {
for (j = 1; j <= n; ++j) {
cin >> v;
if (v == 0)
continue;
map[m][j] /= v;
}
}
for (k = 1; k <= n; ++k) {
for (m = 1; m <= n; ++m) {
for (j = 1; j <= n; ++j) {
if (map[m][j] > map[m][k] + map[k][j])
map[m][j] = map[m][k] + map[k][j];
}
}
}
printf("%.2lf\n", map[1][x]);
return 0;
}0.0分
0 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复