1 条题解

  • 0
    @ 2024-12-24 9:59:27

    C++ :

    #include<stdio.h>
    #include<string.h>
    int user[200],m;
    void func(int use[],int i,int k)
    {
         int j,n,flag=0;
         n=0;
         j=0;
         memset(use,0,sizeof(int)*200);
         while(use[1]==0)
         {
            use[0]=1;
            j++;
            if(use[j]==0)
            {
            n++;
            if(j>=i)
            j=1;
            }
            else
            {
            if(j>=i)
            j=1;
            }
            if(n==k)
            {
            use[j]=1;
            n=0;
            }
         }
         for(j=2;j<i;j++)
         {
             if(use[j]==0)
             {
                 func(use,i,++k);
                 flag=1;
                 break;
             }
             else
             {
              flag=0;
             }
         }
         if(flag==0)
         {
          m=k;
         }
    }
    int main()
    {
    int i,k;
    scanf("%d",&i);
        while(i!=0)
        {
            memset(user,0,sizeof(int)*200);
            k=1;
            func(user,i,k);
            printf("%d\n",m);
            scanf("%d",&i);
        }
    }
    
    
    • 1

    信息

    ID
    1519
    时间
    1000ms
    内存
    256MiB
    难度
    (无)
    标签
    递交数
    0
    已通过
    0
    上传者