CF660B.Seating On Bus

传统题 时间 2000 ms 内存 256 MiB 5 尝试 1 已通过 1 标签

Seating On Bus

题目描述

考虑一辆公交车中有 2n2n 排座位。左侧有 nn 排座,右侧也有 nn 排座。每排可以坐两个人,因此公交车的总载客量为 4n4n 人。

现在有 mmm4nm \leq 4n)个人坐在车上。上车乘客从 11mm 编号(按上车顺序)。座位的依次分配顺序如下:

11 号乘客坐在第 11 排左侧靠窗座位,22 号乘客坐在第 11 排右侧靠窗座位,33 号乘客坐在第 22 排左侧靠窗座位,44 号乘客坐在第 22 排右侧靠窗座位,……,2n2n 号乘客坐在第 nn 排右侧靠窗座位。

如果 m>2nm > 2n,则所有靠窗座位坐满后,剩下的乘客依次坐在非靠窗座位上:

2n+12n+1 号乘客坐在第 11 排左侧非靠窗座位,2n+22n+2 号乘客坐在第 11 排右侧非靠窗座位,……,第 nn 排右侧非靠窗座位坐满为止。

到达终点站后,所有乘客按如下顺序依次下车:

11 排左侧非靠窗、左侧靠窗、右侧非靠窗、右侧靠窗;第 22 排左侧非靠窗、左侧靠窗、右侧非靠窗、右侧靠窗……直到第 nn 排右侧靠窗。

上图是 n=9n=9m=36m=36 的座位分布情况。现在给定 nnmm,请输出 mm 个从 11mm 的整数,表示乘客下车的顺序。

输入格式

一行包含两个整数 nnmm1n100,1m4n1 \leq n \leq 100,\, 1 \leq m \leq 4n),表示排数和乘客数。

输出格式

输出 mm 个不同的整数,表示乘客下车的顺序。

说明/提示

由 ChatGPT 5 翻译

样例

2 7
5 1 6 2 7 3 4
9 36
19 1 20 2 21 3 22 4 23 5 24 6 25 7 26 8 27 9 28 10 29 11 30 12 31 13 32 14 33 15 34 16 35 17 36 18

在线编程 IDE

建议全屏模式获得最佳体验