#include<iostream>
using namespace std;
int good,bad,input,m,shift,temp,flag;
int data[15];
int main(){
cin>>input;
memset(data,0,sizeof(data));
while(input!=0){
m=input;
if(data[input]==0){
while(true){
good=bad=input;
shift=0;
flag=0;
m++;
while(good>0&&bad>0){
temp=(shift+m)%(good+bad);
if(temp==0)
temp=good+bad;
if(temp<=good){
flag=1;
break;
}else{
bad--;
}
shift=temp-1;
}
if(bad==0&&flag==0){
data[input]=m;
break;
}
}
}
cout<<data[input]<<endl;
cin>>input;
}
}
不一定非打表啊,不过如果不要data数组确实会超时
poj1012
最新推荐文章于 2016-11-02 23:02:04 发布