4 solutions

  • 3
    @ 2024-3-6 20:26:25
    #include<bits/stdc++.h>
    using namespace std;
    int main()
    {
    	queue<int> q;
    	int n,m;
    	cin>>n>>m;
    	for(int i=1;i<=n;i++)
    	{
    		q.push(i);
    	}
    	for(int i=1;i<=n;i++)
    	{
    		for(int j=0;j<m-1;j++)
    		{
    			q.push(q.front());
    			q.pop();
    		}
    		cout<<q.front()<<" ";
    		q.pop();
    	}
    	return 0;
    }
    
    • 0
      @ 2025-3-3 19:21:18
      #include<bits/stdc++.h>
      using namespace std;
      const int N=1010;
      int a[N];
      int main()
      {
        int n,m;
        cin>>n>>m;
        int t=1;
        for(int i=1;i<=n;i++)		//当前编号
        {
          int j=1;		//圈内人数
          while(j<=m)
          {
            if(a[t]==0)		//找到了第j个人
            {
              if(j==m)		//找够了m个人
              {
                cout<<t<<" ";		//输出编号
                a[t]=1;			//编号为t的人已经出去
              }
              j++;		//找到的人数增加
            }
            t++;
            if(t==n+1)		//走完一圈又从头再来
            {
            t=1;	
            }	
          }
      }
      return 0;
      }
      • -1
        @ 2025-8-11 16:09:40
        #include<bits/stdc++.h>
        using namespace std;
        int main()
        {
        	int n,m;
        	cin>>n>>m;
        	int a[1145];
        	for(int i=1;i<=n;i++) a[i]=i;
        	for(int i=1,j=1;j<=n*m;i++,j++){
        		if(i==n+1) i=1;
        		if(a[i]==0){
        			j--;
        			continue;
        		}
        		if(j%m==0){
        			a[i]=0;
        			cout<<i<<" ";
        		}
        	}
        	return 0;
        }
        
        • -1
          @ 2024-4-13 11:41:26
          #include<bits/stdc++.h>
          using namespace std;
          const int N=1010;
          int a[N];
          int main()
          {
          int n,m;
          cin>>n>>m;
          int t=1;
          for(int i=1;i<=n;i++)		//当前编号
          {
          int j=1;		//圈内人数
          while(j<=m)
          {
          if(a[t]==0)		//找到了第j个人
          {
          if(j==m)		//找够了m个人
          {
          cout<<t<<" ";		//输出编号
          a[t]=1;			//编号为t的人已经出去
          }
          j++;		//找到的人数增加
          }
          t++;
          if(t==n+1)		//走完一圈又从头再来
          {
          t=1;	
          }	
          }
          }
          return 0;
          }
          
          👍
          • 1

          Information

          ID
          63
          Time
          1000ms
          Memory
          256MiB
          Difficulty
          3
          Tags
          (None)
          # Submissions
          174
          Accepted
          42
          Uploaded By