版权声明:本文为博主原创文章,未经博主允许不得转载,不得用于商业用途。 https://blog.csdn.net/WDAJSNHC/article/details/88086571
ybt1332 周末舞会
【题目描述】
假设在周末舞会上,男士们和女士们进入舞厅时,各自排成一队。跳舞开始时,依次从男队和女队的队头上各出一人配成舞伴。规定每个舞曲能有一对跳舞者。若两队初始人数不相同,则较长的那一队中未配对者等待下一轮舞曲。现要求写一个程序,模拟上述舞伴配对问题。
【输入】
第一行两队的人数;
第二行舞曲的数目。
【输出】
配对情况。
【输入样例】
4 6 7
【输出样例】
1 1 2 2 3 3 4 4 1 5 2 6 3 1
代码
#include<iostream>
#include<queue>
using namespace std;
queue<int> q1,q2;
int main(){
int m,n,k;
cin>>m>>n>>k;
for (int i=1; i<=m; i++) q1.push(i); //1~m入男队
for (int i=1; i<=n; i++) q2.push(i); //1~n入女队
while (k--){ //配对次数
int t1=q1.front(); q1.pop(); //取男队队头t1并出队
int t2=q2.front(); q2.pop(); //取女队队头t2并出队
cout<<t1<<" "<<t2<<endl; //输出配对情况t1 t2
q1.push(t1); q2.push(t2); //t1 t2入队
}
return 0;
}