#include <iostream>
#include <cstring>
using namespace std;
int v[150];
int nextbuild[150];
int main(){
int n;
while(cin>>n && n>=3 && n<150){
for(int i=1;i<n+1;i++){
if(i==n){
nextbuild[i]=1;
}
else{
nextbuild[i]=i+1;
}
}//chushihua
int m=1;
bool find=false;
while(!find){
m++;
int num;//剩余的大楼数
memset(v,1,sizeof(v));
int x=1;
int nextcut,jump;
v[1]=0;
num =n-1;//关掉1
while(num>1){
nextcut=x;
jump=0;
while(jump<m){
nextcut=nextbuild[nextcut];
if(v[nextcut]) {jump++;}
}
v[nextcut]=0;
num--;
x=nextcut;
if(x==2 && num!=1) {break;}
}
if(v[2]&& num==1) find=true;
}
cout<<m<<endl;
}
}
【zoj】System overload
最新推荐文章于 2018-07-17 14:55:44 发布