蒟蒻第一次发题解,有不足的还希望大牛指出。
【2018冬令营队列】舞会
题目描述
假设在周末舞会上,男士们和女士们进入舞厅时,各自排成一队。跳舞开始时,依次从男队和女队的队头上各出一人配成舞伴,每跳完一曲即回各自队尾继续等待。规定每个舞曲只能有一对跳舞者。若两队初始人数不相同,则较长的那一队中未配对者等待下一轮舞曲。现要求写一个程序,模拟上述舞伴配对问题。
输入
第一行男士人数m和女士人数n(m <= 1000, n <= 1000);
第二行舞曲的数目k(k <= 1000)。
样例
输入:
2 4
6
输出:
1 1
2 2
1 3
2 4
1 1
2 2
这是一道非常基本的队列问题。
什么叫做队列?
举个栗子:就像去食堂打饭,先去的人总会是先打完,也是先出来的。(除了插队以外QAQ)
总结:队列特点:先进先出。
队列的好处
虽然可以用数组来模拟,但是队列的简洁程度比数组高。
效率也比数组高一点点。
队列的用法
定义一个队列queueq;放入队列:q.push();查看队首q.front();队尾:q.back();弹出:q.pop();
q.empty()=q.size()==0.
那么这道题就非常简单了。只需要输出在2个队列里,在次数以内的每