首页 > 试题广场 >

队列组合排序

[编程题]队列组合排序
  • 热度指数:1323 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解

一个班级男生和女生数量相同,老师要求男生女生进行排队,男生全部排在队列前面,女生紧跟着排在男生队列后面,形成一个队列,现在要求男生女生交叉排列并且第一位是男生,且每个人在在原队列中的顺序不变,如何来做?

 

要求:

交叉前:队列[1,男2,男3,男4…n,女1,女2,女3,女4…n]

交叉后:队列[1,女1,男2,女2,男3,女3,男4,女4…n,女n]


输入描述:
输入第一行一个整数 n 表示有 n 个男生和 n 个女生
第 2 到第 n+1 行每一行有一个数字表示每个男生的编号
第 n+2 到第 2*n+1 行每一行有一个数字表示每个女生的编号


输出描述:
输出 2*n 行,每行一个名字表示交叉排列后队列中依次每个学生的编号
示例1

输入

3
1
2
3
4
5
6

输出

1
4
2
5
3
6

说明

男【1,2,3】+女【4,5,6】。交叉后变为:【1,4,2,5,3,6】

备注:
每个学生的标号互不相同,并且标号 x 满足:

while True:
    try:
        n = int(input())
        x = []
        y = []
        for i in range(n):
            x.append(int(input()))
        for i in range(n):
            y.append(int(input()))
        for i in range(n):
            print(x[i])
            print(y[i])
    except:
        break

编辑于 2020-04-09 17:55:03 回复(0)