【題解】ZeroJudge d258: 11313 – Gourmet Games

【題目敘述】https://zerojudge.tw/ShowProblem?problemid=d258
【解題想法】

  • 有 n 個參賽者,每一集電視節目有 m 個廚師參賽。
    • 先舉辦 n / m 場比賽。
    • 有 n / m 個晉級者,還有 n % m 個尚未出賽的廚師。
    • 重複進行上述計算,直到 n < m (人數未滿)。
    • 當 n = m 時,有一個最終優勝者,無需再晉級。
#include <iostream>
using namespace std;

int main() {
    int T, n, m;
    cin >> T;
    while (T--){
        cin >> n >> m;
        int ans = 0;
        while (n >= m){
            ans += n / m;
            if (n == m) n = 0;
            else n = n / m + n % m;
        }
        if (n == 0) cout << ans << "\n";
        else cout << "cannot do this\n";
    }
    return 0;
}
分享本文 Share with friends