舞伴問題

假設在週末舞會上,男士們和女士們進入舞廳時,各自排成一隊。跳舞開始時,依次從男隊和女隊的隊頭上各出一人配成舞伴。若兩隊初始人數不相同,則較長的那一隊中未配對者等待下一輪舞曲。要求編寫程序實現舞伴問題。

輸入

輸入一共5行,
第一行是男生人數m;
第二行依次是男生的姓名;
第三行是女士的人數n;
第四行依次是女士的姓名;
第五行是跳舞的輪數。

輸出

配對的男士和女士的姓名。

樣例輸入

5 A B C D E 3 F G H 2

樣例輸出

B G

注意:兩個人上場即爲一輪
#include <cstdio>
#include <cstring>
#include <cstdlib>
#include <cmath>
#include <string>
#include <iostream>
#include <stack>
#include <queue>
#include <vector>
#include <algorithm>
using namespace std;
int main()
{
	int n;
	while (cin >> n)
	{
		queue<char>q;
		queue<char>p;
		char a;
		for (int i = 0; i < n; i++)
		{
			cin >> a;
			q.push(a);
		}
		int m;
		cin >> m;
		for (int i = 0; i < m; i++)
		{
			cin >> a;
			p.push(a);
		}
		cin >> n;
		char b;
		for (int i = 0; i < n; i++)
		{
			a = q.front();
			b = p.front();
			q.push(a);
			p.push(b);
			q.pop();
			p.pop();
		}
		cout << a << ' ' << b;
	}
	return 0;
}

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