2012年7月4日水曜日

AOJ Volume11 1159: Next Mayor

/************************************
* 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 件のコメント:

コメントを投稿