1 条题解

  • 0
    @ 2026-10-18 17:43:52

    G1017 [GESP202503 一级] 图书馆里的老鼠 题解

    难度:1(GeekPi教学评定);知识点:向上取整、整数除法。

    解题思路

    每x小时啃坏一本书,经过y小时,只要已经开始啃下一本,该本就不再完整。被损坏的本数为向上取整y/x,即(y+x-1)/x,再从n中减去。

    为什么正确

    将时间分成长度为x的段,每个已开始的段对应一本受损书;上取整恰好统计已开始的段数。

    易错点

    题目问完整的书,没啃完但已经啃过的书也不完整;整除时不要多减一本。

    复杂度

    时间:O(1);额外空间:O(1)。

    参考代码(C++17)

    #include<bits/stdc++.h>
    
    using namespace std;
    int main() {
        ios::sync_with_stdio(false);
        cin.tie(nullptr);
        int n,x,y;
        cin>>n>>x>>y;
        cout<<n-(y+x-1)/x;
    }
    

    来源与说明

    本题解为配套教学整理,非官方题解。题库使用自行生成的测试数据,5个测试点。

    • 1

    [GESP202503 一级] 图书馆里的老鼠

    信息

    ID
    625
    时间
    1000ms
    内存
    512MiB
    难度
    进阶
    标签
    递交数
    2
    已通过
    1
    上传者