ZeroJudge F754: DD好想哭

題目敘述

每筆測資第一行有一個正整數N,接下來會有N行,每行會有兩個正整數M和K,代表要將M元分給K個人。要求輸出每個人可以分到多少錢,如果有除不進的情況則將餘數分給最後一個人。


範例輸入 #1

2

1 1

4 3


範例輸出 #1

Case 1 :

第1位 : 拿1元並說DD! BAD!

Case 2 :

第1位 : 拿1元並說DD! BAD!

第2位 : 拿1元並說DD! BAD!

第3位 : 拿2元並說DD! BAD!


解題思路

本題收資料的時候需要使用Long Long Int,並且K有可能會是0,當K是0時只需要輸出是第幾個Case就可以往下一個Case走了。

解題程式碼如下 (僅供參考):

#include <iostream>
using namespace std;

int main() {
    cin.sync_with_stdio(0);
    cin.tie(0);
    int N;
    cin >> N;
    for (int i = 0; i<N; i++)
    {
        long long int M, K;
        cin >> M >> K;
        cout << "Case " << i+1 << " :\n";
        if (K != 0)
        {
            long long int give = M/K;
            long long int last = 0;
            if (M % K != 0) last = M % K;
            for (int i = 1; i<K; i++)
            {
                cout << "第" << i << "位 : 拿" << give << "元並說DD! BAD!\n";
            }
            cout << "第" << K << "位 : 拿" << give+last << "元並說DD! BAD!\n";
        }
    }
}

留言

這個網誌中的熱門文章

ZeroJudge M933: 邏輯電路

ZeroJudge A148: You Cannot Pass?!

ZeroJudge A263: 日期差幾天