求助,测试点都过不去!
  • 板块P1145 约瑟夫
  • 楼主damuzhi
  • 当前回复0
  • 已保存回复0
  • 发布时间2023/11/19 19:46
  • 上次更新2023/11/19 21:51:37
查看原帖
求助,测试点都过不去!
1127424
damuzhi楼主2023/11/19 19:46
#include <bits/stdc++.h>

using namespace std;

int main()
{
    list<int> y;
    list<int>::iterator it = y.begin();
    int k;
    cin >> k;
    int m = 0;
    int a = k * 2;
    for (int i = 0; i < k; i++)
    {
        y.push_back(0);
    }
    for (int i = 0; i < k; i++)
    {
        y.push_back(-1);
    }
    int lin = 0;
    for (int i = k + 1;; i++)
    {
        m = i;
        int count = 1;


        while (y.size() > k)
        {
            while (count < m)
            {

                it++;
                count++;
                if (it == y.end())
                {
                    it = y.begin();
                }
            }
            count = 1;

            if (*it == 1)
            {
                y.clear();
                for (int i = 0; i < k; i++)
                {
                    y.push_back(0);
                }
                for (int i = 0; i < k; i++)
                {
                    y.push_back(-1);
                }
                break;
            }
            else if (y.size() == k + 1)
            {
                cout << m << endl;
                return 0;
            }
            else
            {
                it = y.erase(it);
                if (it == y.end())
                {
                    it = y.begin();
                }
            }
        }
    }
    return 0;
}
2023/11/19 19:46
加载中...