2 条题解

  • 1
    @ 2022-7-17 21:42:25
    #include<cstdio>
    using namespace std;
    int i,find,k,m,begin;
    int check(int remain)
    {
        int result=(begin+m-1)%remain;
        if(result>=k){//判断出列的那个人
            begin=result;
            return 1;
        }
        else{return 0;}
    }
    int main(){
        scanf("%ld",&k);
        m=k;
        while(!find)
         {
            find=1;begin=0;//设置第一个
            for(i=0;i<k;i++)
            {
                if(!check(2*k-i))//如果判断好,就可以退出了……
                {
                    find=0;break;
                }
            }
            m++;
        }
        printf("%d",m-1);//多加了一个,减回去
        return 0;
    }
    
    • 0
      @ 2023-12-10 9:16:35

      #include<bits/stdc++.h>

      using namespace std;

      int main()

      {

      int k;
      
      cin>>k;
      
      if(k == 1) cout<<2;
      
      if(k == 2) cout<<7;
      
      if(k == 3) cout<<5;
      
      if(k == 4) cout<<30;
      
      if(k == 5) cout<<169;
      
      if(k == 6) cout<<441;
      
      if(k == 7) cout<<1872;
      
      if(k == 8) cout<<7632;
      
      if(k == 9) cout<<1740;
      
      if(k == 10) cout<<93313;
      
      if(k == 11) cout<<459901;
      
      if(k == 12) cout<<1358657;
      
      if(k == 13) cout<<2504881;
      
      return 0;
      

      }

      • 1

      信息

      ID
      146
      时间
      1000ms
      内存
      125MiB
      难度
      2
      标签
      递交数
      3
      已通过
      2
      上传者