CF660B Seating On Bus
题目描述
考虑一辆公交车中有 $2n$ 排座位。左侧有 $n$ 排座,右侧也有 $n$ 排座。每排可以坐两个人,因此公交车的总载客量为 $4n$ 人。
现在有 $m$($m \leq 4n$)个人坐在车上。上车乘客从 $1$ 到 $m$ 编号(按上车顺序)。座位的依次分配顺序如下:
$1$ 号乘客坐在第 $1$ 排左侧靠窗座位,$2$ 号乘客坐在第 $1$ 排右侧靠窗座位,$3$ 号乘客坐在第 $2$ 排左侧靠窗座位,$4$ 号乘客坐在第 $2$ 排右侧靠窗座位,……,$2n$ 号乘客坐在第 $n$ 排右侧靠窗座位。
如果 $m > 2n$,则所有靠窗座位坐满后,剩下的乘客依次坐在非靠窗座位上:
$2n+1$ 号乘客坐在第 $1$ 排左侧非靠窗座位,$2n+2$ 号乘客坐在第 $1$ 排右侧非靠窗座位,……,第 $n$ 排右侧非靠窗座位坐满为止。
到达终点站后,所有乘客按如下顺序依次下车:
第 $1$ 排左侧非靠窗、左侧靠窗、右侧非靠窗、右侧靠窗;第 $2$ 排左侧非靠窗、左侧靠窗、右侧非靠窗、右侧靠窗……直到第 $n$ 排右侧靠窗。

上图是 $n=9$,$m=36$ 的座位分布情况。现在给定 $n$ 和 $m$,请输出 $m$ 个从 $1$ 到 $m$ 的整数,表示乘客下车的顺序。
输入格式
一行包含两个整数 $n$ 和 $m$($1 \leq n \leq 100,\, 1 \leq m \leq 4n$),表示排数和乘客数。
输出格式
输出 $m$ 个不同的整数,表示乘客下车的顺序。
说明/提示
由 ChatGPT 5 翻译