周末舞会(队列)

周末舞会(队列)

题目描述

假设在周末舞会上,男士们和女士们进入舞厅时,各自排成一队。跳舞开始时,依次从男队和女队的队头上各出一人配成舞伴。规定每个舞曲能有一对跳舞者。若两队初始人数不相同,则较长的那一队中未配对者等待下一轮舞曲。现要求写一个程序,模拟上述舞伴配对问题。

输入

第一行男士人数m和女士人数n;

第二行舞曲的数目k。

输出

共k行,每行两个数,表示配对舞伴的序号,男士在前,女士在后。

样例输入

4 3
6

样例输出

1 1
2 2
3 3
4 1
1 2
2 3

样例代码

#include <bits/stdc++.h>

using namespace std;

int a[10001], b[10001], k1 = 1, f1 = 1, f2 = 1, r1, r2, m, n, k;

void init()
{
	cin >> m >> n;
	cin >> k;
	for (int i = 1; i <= m; i++) a[i] = i;
	for (int i = 1; i <= n; i++) b[i] = i;
}

void queue_value()
{
	r1 = m, r2 = n;
	while (k--)
	{
		printf("%d %d\n", a[f1], b[f2]);
		a[++r1] = a[f1++];
		b[++r2] = b[f2++];
	}
}

int main()
{
	init();
	queue_value();
	return 0;
}

    原文作者:舞伴问题
    原文地址: https://blog.csdn.net/AnselLyy/article/details/52902278
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞