GESP 八级 · GESP 202409 C++ 八级 第 13 题

选择题 · 答案 B · 考点:算法、动态规划

← 整套速查表 GESP 八级 全部真题

题目

下面 Floyd 算法中,横线处应该填入的是( )。

#include <iostream>
using namespace std;

#define N 21
#define INF 9999999
int map[N][N];

int main() {
    int n, m, t1, t2, t3;
    cin >> n >> m;
    for (int i = 1; i <= n; i++) {
        for (int j = 1; j <= n; j++) {
            if (i == j)
                map[i][j] = 0;
            else
                map[i][j] = INF;
        }
    }

    for (int i = 1; i <= m; i++) {
        cin >> t1 >> t2 >> t3;
        map[t1][t2] = t3;
    }

    for (int k = 1; k <= n; k++)
        for (int i = 1; i <= n; i++)
            for (int j = 1; j <= n; j++)
                if (________) // 在此处填入选项
                    map[i][j] = map[i][k] + map[k][j];

    for (int i = 1; i <= n; i++) {
        for (int j = 1; j <= n; j++) {
            cout.width(4);
            cout << map[i][j];
        }
        cout << endl;
    }
}
答案:B

考点

算法动态规划 讲解 →动态规划 真题汇总 →

解题思维

STL 容器:vector(动态数组)、set/map(红黑树,有序)、unordered_set/map(哈希表,无序)。注意迭代器失效问题。

常见错误

填空时注意语法完整性:分号、括号匹配、函数参数类型和个数、返回值类型。

详细解析(节选)

【考点】Floyd 算法|动态规划|松弛操作|INF 处理

1. 🎯 考纲定位

GESP 八级《信息学基础》算法模块,考查 Floyd 算法三重循环结构。命题人盯住动态规划松弛条件的方向——90% 考生会背“新路径更短才更新”,却把条件写反。

同考点真题

在 OI伴学 里做这道题
登录后可计时作答、查看完整六段式解析,并按你的错题自动生成同类练习。
去刷题先做一次 AI 学情诊断