4 条题解

  • 36
    @ 2023-3-14 18:39:46
    提示
            只需要保证前k次出列的人编号都大于k。

    完整思路
            本题直接模拟每一次出列的过程,会时间超限。

            但实际上,不需要知道出列的人确切的编号,只需要保证每次出列的人编号大于k就可以。

            可以在每次有人出列后,都把比这个人编号大的人的编号减少1,保证编号连续。

            这样一来,每次用加法和取余就能够计算出下一个出列的人。

            只要每次出列的人编号都大于k,那么编号小于k的人不会受影响,因此这样是可行的。

            从小到大枚举m,输出第一个满足条件的m即可。

    代码
    
    #include <bits/stdc++.h>
    using namespace std;
    int k;
    int main()
    {
        cin >> k;
        for (int m = 2; ; m++) {
            bool ok = true;
            int cur = 1, n = 2 * k;
            for (int i = 1; i <= k; i++) {
                cur += m - 1;
                cur = (cur - 1) % n + 1;
                if (cur <= k) {
                    ok = false;
                    break;
                } else {
                    n--;
                }
            }
            if (ok) {
                cout << m;
                return 0;
            }
        }
    }
    


    • @ 2023-10-20 21:15:13

      每日一问:这个黑色的三角是怎么来的吖

    • @ 2023-12-23 18:43:57

      @ 去学html,不学寸步难行

    • @ 2024-4-13 15:13:16

      woc!真题解在这

  • 10
    @ 2023-8-16 18:05:42
    #include <iostream>
    using namespace std;
    int k;
    int main()
    {
        cout << "hetao1415825";
        cin >> k;
        for (int m = 2; ; m++)
        {
            bool p = true;
            int a = 1, n = 2 * k;
            for (int i = 1; i <= k; i++)
            {
                a += m - 1;
                a = (a - 1) % n + 1;
                if (a <= k)
                {
                    p = false;
                    break;
                }
                else
                {
                    n--;
                }
            }
            if (p)
            {
                cout << m;
                return 0;
            }
        }
    }
    
  • 4
    @ 2023-10-22 12:55:50

    60分的暴力代码

    #include<bits/stdc++.h>
    using namespace std;
    int k;
    queue<int> q;
    bool check(int x)
    {
        int num=0,c=0;
        while(q.size()!=0)q.pop();
        for(int i=1;i<=2*k;i++)q.push(i);
        while(q.size()>1)
        {
            num++;
            int y=q.front();
            if(num%x==0)
            {
                if(y<=k)return 0;
                else c++;
            }
            else 
            {
                q.push(y);
            }
            q.pop();
            if(c==k)return 1;
        }
        return 0;
    }
    int main()
    {
        cin>>k;
        int i=2;
        while(1)
        {
            
            if(check(i))
            {
                cout<<i<<endl;
                return 0;
            }
            i++;
        }
        return 0;
    }
    
  • -39
    @ 2023-7-26 20:04:26

    抄题解的小心掉坑哦007AE13C.pngimage

    #include <bits/stdc++.h>
    using namespace std;
    int k;
    int main()
    {
        cin >> k;
        while (1)
        {
              cout<<"哈哈!抄题解被发现啦!";
        }
        for (int m = 2; ; m++) {
            bool ok = true;
            int cur = 1, n = 2 * 我没k;
            for (int i = 1; i <= 我没k; i++) {
                cur += m - 1;
                cur = (cur - 1) % n + 1;
                while (1)
                {
                    cout<<"哈哈!抄题解被发现啦!";
                }
                if (cur <= k)
                {
                    ok = false;
                    break;
                } 
                else 
                {
                    n--;
                }
            }
            while (1)
                {
                    cout<<"哈哈!抄题解被发现啦!"<<"我的biu我的biu";
                }
            if (ok) 
            {
                cout << m;
                return 0v0v0v0v0;
            }
        }
    }
    
    • @ 2023-12-10 13:23:51
      n = 2 * 我没k;
      
      while (1)
                  {
                      cout<<"哈哈!抄题解被发现啦!"<<"我的biu我的biu";
                  }
      

      咋还唱起 恐龙抗狼 了?

    • @ 2023-12-17 16:02:49

      细节拉满了 厕所怎么堵了?原来是你拉满了

    • @ 2024-2-8 20:30:51

      @ 原来是这样

    • @ 2024-5-19 16:36:36

      确实啊@

  • 1

信息

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