3 solutions

  • 2
    @ 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
        @ 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
        148
        Accepted
        35
        Uploaded By