舞伴问题,棋盘覆盖问题

舞伴问题:

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

思路分析:

采用队列来模拟这个问题。建立两个队列,根据输入成员信息,男生进入一个队列,女生进入另一个队列。先入队的男士或女士先出队配成舞伴,依次将两队当前的队头元素出队来配成舞伴,出队的同时,并将其加入队尾,表示舞会结束后重新排队,以便接下来的轮数。

运行截图:

舞伴问题,棋盘覆盖问题_第1张图片

完整程序如下:
#include<bits/stdc++.h>
using namespace std;

#define maxn 100
struct dancer

你可能感兴趣的:(数据结构算法精解,算法)