200字
Luogu P1150 Peter 的烟
2025-10-01
2025-10-01

思路:

  1. 直接使用数学公式:根据题目规律,最终抽的烟数 = 初始烟数 + (初始烟数 - 1) / (换烟需要的烟蒂数 - 1)

  2. 公式推导

    • 初始有 n 根烟,抽完得到 n 个烟蒂

    • 每 k 个烟蒂换一根新烟,相当于每 (k-1) 个烟蒂可以净增加一根烟

    • 总共可增加 (n-1)/(k-1) 根烟

  3. 边界处理

    • 题目保证 n > 1, k > 1,无需特殊处理

    • 使用整数除法(向下取整)符合题目要求

#include <iostream>
using namespace std;

int main() {
    long long n, k;
    cin >> n >> k;
    cout << n + (n - 1) / (k - 1);
    return 0;
}

评论