跳舞配对问题

时间:2022-06-03 23:56:25 阅读: 最新文章 文档下载
说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。
跳舞配对问题

一、任务

一班有m个女生,n个男生(m不等于n,现要开一个舞会。男女生分别编号坐在舞池的两边的椅子上,每曲开始时,依次从男生和女生中各出一人配对跳舞, 本曲没成功配对者坐着等待下一曲找舞伴。配对成功的舞伴跳完舞后排回各自队伍的最后。

请设计一系统模拟动态地显示出上述过程,要求输出计算任何一个女生(编号为X)和任意男生(编号为Y)第一次配对跳舞的舞曲编号K

输入什么数据,会出现100支舞曲内XY都不能成功配对跳舞的情况?尝试一下。 二、程序分析

1.男生和女生依次排队,排在对头的男生和排在对头的女生先配对,舞曲结束排到各自的队尾。因此该问题具体有典型的先进先出特性,可用队列作为数据的存储方式。

2.算法需要两个队列,分别是存放男生队列和女生队列,每跳一支舞曲则是一次男女队列的出队列和入队列。

3.初始化时男生、女生队列的值分别为他们的编号序列。

4.解决该问题的方法与实验5类似,将每次配对的女生和男生编号与指定编号比较,等则目前该舞曲是需要计算的舞曲。注意舞曲的数目必须限制在一定的范围内,避免死循环。例如在100支舞曲内,XY都没有配对跳舞,则输出不可能配对成功。 三、调试测试

1.输入:按提示输入女生和男生的人数,以及希望配对跳舞的女生编号和男生编号。





2.输出:X女生和Y男生配对跳舞成功,并且输出当前XY首次配对跳舞的舞曲序号K







本文来源:https://www.wddqw.com/doc/e781fa3e376baf1ffc4fad56.html