/************************************
* 2012/06/18 *
* AOJ Volume11 1159 *
* Next Mayor *
* crane *
*************************************/
#include<iostream>
#define MAX_N 50
int n, p;
int candidate[MAX_N]; //それぞれの候補者の持つ石の数
int main(){
while(std::cin >> n >> p, (n||p)){ //n->候補者の数 p->小石の総数
int turn = 0; //候補者ターン
for(int i=0; i<n; i++) candidate[i] = 0; //候補者も持石個数初期化
int w = p;
while(1){
if(w==0){
w += candidate[turn];
candidate[turn] = 0;
}else{
w--;
candidate[turn]++;
if(candidate[turn] == p)
break;
}
turn = (turn+1) % n;//次の人へ
}
std::cout << turn << std::endl;
}
return 0;
}
0 件のコメント:
コメントを投稿