3533. 庙会
单点时限: 1.0 sec
内存限制: 256 MB
是谁带你来看这场庙会
行为掩饰后超越了思维
舞台上的小丑和你的左小腿
别管我,别把我和他们扯在一起
——李志《鸵鸟》
来到这场庙会,现在需要男士们和女士们进入舞厅时,各自排成一队。跳舞开始时,依次从男队和女队的队头上各出一人配成舞伴。规定每个舞曲能有一对跳舞者。若两队初始人数不相同,则较长的那一队中未配对者等待下一轮舞曲。现要求写一个程序,模拟上述舞伴配对问题。
假设在周末舞会上,男士们和女士们进入舞厅时,各自排成一队。跳舞开始时,依次从男队和女队的队头上各出一人配成舞伴。规定每个舞曲能有一对跳舞者。若两队初始人数不相同,则较长的那一队中未配对者等待下一轮舞曲。现要求写一个程序,模拟上述舞伴配对问题。
输入格式
三个整数 m, n, k (1≤m,n≤150,1≤k≤4000),分别表示男士人数、女士人数、几轮舞曲。
输出格式
输出各轮舞曲的配对方案。
样例
input
2 4 6
output
1 1
2 2
1 3
2 4
1 1
2 2
模拟队列 这么简单...这竟然就是2018研究生面试题。。。。不敢相信 = =!
import java.util.LinkedList;
import java.util.Queue;
import java.util.Scanner;
public class Main{
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int m = sc.nextInt();
int n = sc.nextInt();
int k = sc.nextInt();
Queue<Integer> a = new LinkedList<Integer>();
Queue<Integer> b = new LinkedList<Integer>();
for (int i = 1; i <= m; i++) {
a.add(i);
}
for (int i = 1; i <= n; i++) {
b.add(i);
}
while(k--!=0) {
int x = a.poll();
int y = b.poll();
System.out.println(x+" "+y);
a.add(x);
b.add(y);
}
}
}