70分求助
  • 板块P1145 约瑟夫
  • 楼主mihoyou
  • 当前回复1
  • 已保存回复1
  • 发布时间2024/3/10 16:57
  • 上次更新2024/3/10 19:09:02
查看原帖
70分求助
1285256
mihoyou楼主2024/3/10 16:57
#include <bits/stdc++.h>
using namespace std;
bool check(int n,int m)
{
queue<int> q;
   for(int i=1;i<=n;i++)
   		q.push(i);
   while(q.size()>n/2)
   {
       for(int i=1;i<=m-1;i++)
       {
       	   int x=q.front();
           q.pop();
           q.push(x);	
	   }
	   int x=q.front();
	   q.pop();
	   if(x<=n/2)
	   {
	   	 return false;
	   }
   }
    return true;	
}

int main()
{
   int k;
   cin>>k;
   int n=2*k;
    for(int m=k+1;;m++)
    {
    	if(check(n,m))
    	{
    	cout<<m;
    	return 0;    		
		}

	}
    return 0;
}

2024/3/10 16:57
加载中...