华东师范大学上机题——舞会配对

华东师范大学上机题——舞会配对

题目描述:
假设在周末舞会上,男士们和女士们进入舞厅时,各自排成一队。跳舞开始时,依次从男队和女队的对头上各出一个人配成舞伴。规定每个舞曲能有一队跳舞者。若两队初始人数不相同,则较长的那一队中未配对者等待下一轮舞曲。现要求写一个程序,模拟上述舞伴配对问题。
Input:
三个整数m,n,k(1<=m,n<=150,1<=k<=4000),分别表示男士人数,女士人数,几轮舞曲。
Output:
输出各轮舞曲的配对方案。
Example:
input
2 4 6
output
1 1
2 2
1 3
2 4
1 1
2 2

算法思路:
定义两个指针指向男士列队和女士列队,每当指针指到队尾,本轮舞曲结束后指针就还原到开头。

#include<iostream>
using namespace std;
int main() {
	int m, n, k;
	cout << "输入男士人数:";
	cin >> m;
	cout << "输入女士人数:";
	cin >> n;
	cout << "输入舞曲轮数:";
	cin >> k;
	int i = 1, j = 1;
	for (int p = 1;p <= k;p++) {
		cout << i << " " << j << endl;
		i++;
		j++;
		if (i > m)
			i = 1;
		if (j > n)
			j = 1;
	}
	return 0;
}

运行测试结果:
在这里插入图片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章