【题目描述】
假设在周末舞会上,男士们和女士们进入舞厅时,各自排成一队。跳舞开始时,依次从男队和女队的队头上各出一人配成舞伴。规定每个舞曲能有一对跳舞者。若两队初始人数不相同,则较长的那一队中未配对者等待下一轮舞曲。现要求
【输入】
第一行两队的人数;
第二行舞曲的数目。
【输出】
配对情况。
【输入样例】
4 6 7
【输出样例】
1 1 2 2 3 3 4 4 1 5 2 6 3 1
这一道题考察的是队列的相关知识,比较模板。
【 注意要素】:
(1) r1++;m[r1]=m[t1];t1++;男队列
(2) r2++;w[r2]=w[t2];t2++;女队列
(3)输入输出格式;
(4)数组的取值范围;
#include<bits/stdc++.h>
using namespace std;
int m[10000],w[10000];
int t1=1,t2=1,r1,r2,ans1,k,n,x;
int main(){
cin>>n>>x>>k;
for(int i=1;i<=n;i++)
m[i]=i;
for(int i=1;i<=x;i++)
w[i]=i;
r1=n;r2=x;
while(ans1<k){
cout<<m[t1]<<" "<<w[t2]<<endl;
r1++;m[r1]=m[t1];t1++;
r2++;w[r2]=w[t2];t2++;
ans1++;
}
return 0;
}