# Arithmetic# Simulation# Modulo Operator

f754 - DD好想哭

🔗 前往 ZeroJudge 原題

題目描述

題目描述了 DD 的遭遇,並要求根據給定的 M 元和 K 個人數,將 M 元平均分配給 K 個人。如果 M 不能被 K 整除,則將剩餘的錢給最後一個人。輸出每個人的拿到的錢數,並加上 "DD! BAD!" 字樣。

解題思路

這題主要考驗對整數除法和取模運算的理解。首先計算每個人平均能分到的錢數 e = m / k。然後計算最後一個人能分到的錢數 f = m / k + m % k。最後,按照順序輸出每個人的錢數和 "DD! BAD!" 字樣。

複雜度分析

  • 時間複雜度: O(N * K)
  • 空間複雜度: O(1)

程式碼

#include <iostream>
using namespace std;
long long int k,m,n;
int main(){
	cin.tie(0); ios::sync_with_stdio(false);
	cin >> n;
	for(int ca=1;ca<=n;++ca){
		cin >> m >> k;
		long long int e = m/k , f = m/k+m%k;
		cout << "Case " << ca << " :\n"; 
		for(int i=1;i<k;++i)
			cout << "第" << i << "位 : 拿" << e << "元並說DD! BAD!\n";
		cout << "第" << k << "位 : 拿" << f << "元並說DD! BAD!\n";
	}
}

Discussion