Official
D - 坊主めくり/Bozu Mekuri Editorial
by
D - 坊主めくり/Bozu Mekuri Editorial
by
kyopro_friends
場札の枚数と各プレイヤーの手札の枚数を記録しながら実際にシミュレーションを行います。
山札を上から順に処理をすることにし、上から \(i\) 枚目の山札をどのプレイヤーが引くかを、\(i\) を \(N\) で割ったあまりを用いて計算すると実装が簡潔になります。
実装例(C)
#include<stdio.h>
char s[200010];
int cnt[200010];
int main(){
int n,m;
scanf("%d%d %s",&n,&m,s);
int ba=0;
for(int i=0;i<m;i++){
cnt[i%n]++;
if(s[i]=='+'){
cnt[i%n]+=ba;
ba=0;
}else if(s[i]=='-'){
ba+=cnt[i%n];
cnt[i%n]=0;
}
}
for(int i=0;i<n;i++)printf("%d\n",cnt[i]);
}
posted:
last update: