華東師範大學上機題——舞會配對

華東師範大學上機題——舞會配對

題目描述:
假設在週末舞會上,男士們和女士們進入舞廳時,各自排成一隊。跳舞開始時,依次從男隊和女隊的對頭上各出一個人配成舞伴。規定每個舞曲能有一隊跳舞者。若兩隊初始人數不相同,則較長的那一隊中未配對者等待下一輪舞曲。現要求寫一個程序,模擬上述舞伴配對問題。
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;
}

運行測試結果:
在這裏插入圖片描述

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