选太子

来源:互联网 发布:淘宝客户拒收运费谁出 编辑:程序博客网 时间:2024/04/27 17:55

#include<iostream>
using namespace std;
int main()
{
 int n,m,i,j,k,sum,flag;
 cin>>m>>n;
 int A[2*m+1];
 flag=0;
 for(i=0;i<=2*m;i++)
 {
  A[i]=i;
 }
 i=0;
 while(1)
 {
  for(j=1;j<=n;j++)
  {
   
   
   i++;
   if(i==2*m+1)
   {
    i=1;
   }
   while(1)
   {
    if(A[i]==0)
    {
     i++;
    }
    if(i==2*m+1)
    {
     i=1;
    }
    if(A[i]!=0)
    {
     break;
    }
   }
   if(j==n)
   {
    sum=0;
    A[i]=0;
    for(k=1;k<=2*m;k++)
    {
     if(A[k]!=0)
     {
      sum=sum+1;
     }
    }
    if(sum==m)
    {
     flag=1;
     break;
    }
   }
  }
  if(flag==1)
  {
   break;
  }
 }
 while(1)
 {
  for(j=n;j>=1;j--)
  {
   i--;
   if(i==0)
   {
    i=2*m;
   }
   while(1)
   {
    if(A[i]==0)
    {
     i--;
    }
    if(i==0)
    {
     i=2*m;
    }
    if(A[i]!=0)
    {
     break;
    }
   }
   if(j==1)
   {
    sum=0;
    for(k=1;k<=2*m;k++)
    {
     if(A[k]!=0)
     {
      sum=sum+1;
     }
    }
    A[i]=0;
    if(sum==1)
    {
     flag=0;
     break;
    }
   }
  }
  if(flag==0)
  {
   break;
  }
 }
 cout<<i<<endl;
}
原创粉丝点击