2 solutions

  • 0
    @ 2022-1-1 22:11:30
    #include <bits/stdc++.h>
    using namespace std;
    queue<int> que1;
    queue<int> que2;
    int n,m,timee;
    int main()
    {
    	cin>>n>>m;
    	cin>>timee;
    	for(int i=1;i<=n;++i)// 入列 
    	{
    		que1.push(i);
    	}
    	for(int i=1;i<=m;++i)
    	{
    		que2.push(i);
    	}
    	for(int i=0;i<timee;++i)
    	{
    		cout<<que1.front()<<" "<<que2.front()<<"\n";
    		que1.push(que1.front());//把第一个加入 相当于放在最后面 
    		que2.push(que2.front());
    		que1.pop();//先进先出 第一个出 
    		que2.pop();
    	}
    	return 0;
    }
    
    • 0
      @ 2022-1-1 21:38:44

      这是一道很基础的队列,只需要把跳过舞的人再排到后面

      #include<bits/stdc++.h>
      typedef long long ll;
      using namespace std;
      int main()
      {
      	queue<int> q;//男团
      	queue<int> w;//女团;
      	int n,m,t;
      	cin>>n>>m;
      	cin>>t;
      	for(int i=1;i<=n;i++)
      	{
      		q.push(i);
      	}for(int i=1;i<=m;i++)
      	{
      		w.push(i);
      	}
      	for(int i=0;i<t;i++)
      	{
      		cout<<q.front()<<" "<<w.front()<<endl;
      		q.push(q.front());//每个人雨露均沾;
      		w.push(w.front());
      		q.pop();w.pop();
      	}
      	return 0;
      }
      
      • 1

      Information

      ID
      302
      Time
      1000ms
      Memory
      128MiB
      Difficulty
      1
      Tags
      # Submissions
      54
      Accepted
      43
      Uploaded By