siciy 1003. Hit or Miss

来源:互联网 发布:怎么看mac激活时间 编辑:程序博客网 时间:2024/05/16 17:40
#include<iostream>#include<queue>#include<memory.h>#include<stdio.h>using namespace std;int main(int argc, char *argv[]){int t;scanf("%d",&t);for( int k = 1; k<=t ; k++){int current_count[10];int last_remove[10];int pNum;int removed_count = 0;int a[53];memset(a,0,sizeof(a));scanf("%d",&pNum);//initfor( int i=0; i<pNum ; i++ ){current_count[i] = 1;}queue<int> array_queue[10];int tmp;for( int i=0; i<52 ; i++ ){scanf("%d",&tmp);array_queue[0].push(tmp);}bool unwinnable = false;//game beginfor( int turn = 0; turn <= pNum ; turn++ ){//check unwinnableif( a[removed_count] > 700 ){unwinnable = true;break;}if( turn == pNum )turn = 0;if(array_queue[turn].empty())continue;int current_top = array_queue[turn].front();array_queue[turn].pop();last_remove[turn] = current_top;if( current_top == current_count[turn]){if( turn != pNum-1 )array_queue[turn+1].push(current_top);else{if (++removed_count == 52)break;}}else{a[removed_count]++;array_queue[turn].push(current_top);}//countif(++current_count[turn] == 14)current_count[turn] = 1; //back to one;}//printprintf("Case %d:",k);if(unwinnable){printf(" unwinnable\n");}else{for( int i=0; i<pNum ; i++ ){printf(" %d",last_remove[i]);}printf("\n");}}return 0;}

原创粉丝点击