题目名称: 轰击粒子
时间限制:1000ms内存限制:256MB提交通过率:35%
题目描述
有KK个核反应堆室编号为0到K-1K−1。将粒子依次轰击到0号反应堆室中,这些粒子会持续在0号反应堆室中被收集。一旦反应堆室内有NN个以上的粒子时,会产生反应导致其中1个粒子移动到紧邻的下一个反应堆室,即如果0号反应堆室的粒子数量达到NN个以上,其中1个粒子将移动1号反应堆室,而0号反应堆室中的所有其它粒子将被销毁。这样的链式反应一直持续到所有反应堆室中的粒子数量均不大于NN为止。对于给定的KK、NN和轰击的粒子总数AA,请输出KK个反应堆室中最终的粒子分布情况。在实验过程中,每次只轰击一个粒子,直到本次可能引发的一系列链式反应结束后,再轰炸下一个粒子。最后一个反应堆室(K-1K−1号反应堆室)出来的粒子无处可去便丢失了。
输入描述
仅一行,包含由空格分隔的三个数字AA,NN和KK。所有的反应堆室开始时的粒子数都是0。
输出描述
仅一行,包含KK个由空格分隔的数字,表示所有反应结束后反应堆室中的粒子数量,其中第一个数字是反应堆室0中的粒子数,第二个数字是反应堆室1中的粒子数,依此类推。
样例1
输入复制
3 1 3
输出
1 1 0
提示
数据范围:
在100%的数据中,0 ≤ A ≤ 10^90≤A≤109,0 ≤ N ≤ 1000≤N≤100,1 ≤ K ≤ 1001≤K≤100。
编程语言
C++
#include<cstdio>
int main(){
long long a,n,k;
scanf("%lld%lld%lld",&a,&n,&k);
while(k--){
printf("%lld ",a % (n + 1));
a = a / (n + 1);
}
return 0;
}