2013年12月19日 星期四

UVAOJ 151 - Power Crisis

[IMPLEMENT]



#include<stdio.h>
#include<stdlib.h>
#include<algorithm>
#include<cstring>
#include<vector>
#include<queue>
#define min(x,y) (((x)>(y)) ? (y):(x))
#define max(x,y) (((x)>(y)) ? (x):(y))
using namespace std;
bool check(int n,int k)
{
queue<int>Que;
for(int lx=1;lx<=n;lx++)
Que.push(lx);
int prck=0;
while(Que.size())
{
int a=Que.front();
Que.pop();
if(prck!=0)
Que.push(a);
else
{
//printf("kill %d\n",a);
if(a==13) break;
}

prck=(prck+1)%k;
}
return (Que.size()==0);
}
int main()
{
int I;
while(scanf("%d",&I)&&I)
{
for(int lx=1;lx<=I-1;lx++)
{
//printf("check(%d):\n",lx);
if(check(I,lx))
{
printf("%d\n",lx);
break;
}
}

}
return 0;
}

沒有留言:

張貼留言