题目描述:
学校举办了一场舞会,男生和女生在入场时,各自排成一队。伴奏响起时,依次从男队和女队的队首各出一人配成舞伴。规定每个舞曲只有一对跳舞者,若两队初始人数不同,则较长的那一队中未配对者等待下一轮舞曲。请利用程序模拟这个过程。
输入:
一行,三个数字m,n和p,分别表示男队人数、女队人数和舞曲数目
输出:
p行,每行两个数字,表示第i首舞曲的男女配对编号。(男生编号在前,女生编号在后,用一个空格隔开)
输入示例:
4 3 6
输出示例:
1 1
2 2
3 3
4 1
1 2
2 3
AC代码:
#include<iostream>
using namespace std;
int q1[1005],q2[1005];
int r1,f1,r2,f2,n,m,p;
int main(){
cin>>m>>n>>p;
for(int i=1;i<=m;i++){ //男生入q1队
q1[r1]=i;
r1++;
}
for(int i=1;i<=n;i++){
q2[r2]=i;
r2++;
}
for(int i=1;i<=p;i++){
cout<<q1[f1]<<" "<<q2[f2]<<endl;
//将队首放到队尾 去掉队首
q1[r1]=q1[f1];
r1++;
f1++;
q2[r2]=q2[f2];
r2++;
f2++;
}
return 0;
}