第20658题 单选题
使用二分法查找切割木头的最小最大段长x,横线处应填入的代码是?

小杨要把一根长度为 L 的木头切成 K 段,使得每段长度小于等于 x。已知每切一刀只能把一段木头分成两段,他用二分法找到满足条件的最小 x(x 为正整数),给定如下代码:

// 判断: 在不超过 K 次切割内, 是否能让每段长度 <= x
bool check(int L, int K, int x) {
    int cuts = (L - 1) / x;
    return cuts <= K;
}
// 二分查找最小可行的 x
int binary_cut(int L, int K) {
    int l = 1, r = L;
    while (l < r) {
        int mid = l + (r - l) / 2;
        __________________________ // 在此处填入代码
    }
    return l;
}
int main() {
    int L = 10; // 木头长度
    int K = 2;  // 最多切 K 刀
    cout << binary_cut(L, K) << endl;
    return 0;
}
{{ option.label }}
子题{{ index + 1 }} {{ child.type_label }}
{{ option.label }}
✓ 正确 ◐ 部分正确 ✗ 错误
程序运行统计
暂无判题统计
提交{{ questionInfo.stats ? questionInfo.stats.submit_count : 0 }}次 正确率{{ statsAccuracy }}%
答案解析