DD,全名「Dat Derek」,身高 156.4,體重 89.2 (不過那是幾年前測量的,現在早就破百了…)
身受腳臭困擾的他,平時不愛整潔,牙齒髒了也不刷,滿口的黃牙對他來說是時尚的標誌;
頭髮髒了亂了,也不從來不整理,任憑頭皮屑四處飛揚,像是在散播種子一般。
他也常常被冠上「髒鬼」、「魯蛇」、「人生失敗組」、「肥宅」… 諸如此類的稱號。
然而,他卻有一顆對於愛情充滿嚮往的心。
DD 今天被欺負了,請幫助他討回公道。
DD 的 M 元會被平均分配給 K 人。(0 < K < M < 300000000000)
若除不盡將剩下的錢給最後一個人。
請輸出第幾筆的第幾位有多少元並說出「DD! BAD!」。
範例測資
範例輸入 | 範例輸出 |
---|---|
第一行會有一個整數 N. 接下來有N筆測資。 每筆測資有M,K兩數。 | 請輸出第幾筆的第幾位有多少元並說出「DD! BAD!」。 |
2 1 1 4 3 | 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走了。
範例程式碼-ZeroJudge F754: DD好想哭
#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 F754
//Dr. SeanXD