P16468 [GKS 2013 #A] Sorting

题目描述

Alex 和 Bob 是两兄弟,他们都非常喜欢阅读。两人对书的品味大相径庭,因此各自保管自己的书。然而,父亲认为如果能让他们把书放在一起,或许可以促进交流。于是,父亲今天为他们买了一个单排书架,并将两个儿子的所有书随机摆放在上面。他为书架上的每个位置都贴好了标签,标明对应位置上的书的主人(“Alex”或“Bob”)。 不巧的是,Alex 和 Bob 当时外出了,并不知道父亲做了什么。当他们回到家时,才意识到问题所在:他们通常按自己的顺序整理书籍,但现在书架上的书看起来一片混乱。他们必须马上整理! 每本书都有自己的**价值**,用一个整数表示。价值为奇数的书属于 Alex,价值为偶数的书属于 Bob。Alex 习惯将他的书在书架上从左到右按价值升序排列,而 Bob 则喜欢将他的书从左到右按价值降序排列。 同时,他们不想改变标签的位置,因此在按照各自的规则整理完书籍之后,每本书的主人名字必须与其所在位置的标签一致。 现在问题来了。给定一个长度为 $N$ 的整数序列 $\mathbf{s_0}$, $\mathbf{s_1}$, ..., $\mathbf{s_{N-1}}$,表示当前书架上从左到右每本书的价值。请帮助兄弟俩找出整理后满足上述要求的价值序列。

输入格式

第一行包含一个整数 $T$,表示测试用例的数量。每个测试用例的第一行包含一个整数 $N$,表示书架上的书的数量。接下来一行包含 $N$ 个用空格分隔的整数,表示 $\mathbf{s_0}$, $\mathbf{s_1}$, ..., $\mathbf{s_{N-1}}$,即每本书的价值。

输出格式

对于每个测试用例,输出一行形如 `Case #X: ` 的内容,然后依次输出 $\mathbf{t_0}$, $\mathbf{t_1}$, ..., $\mathbf{t_{N-1}}$,用空格分隔。其中 $X$ 是测试用例编号(从 $1$ 开始),而 $\mathbf{t_0}$, $\mathbf{t_1}$, ..., $\mathbf{t_{N-1}}$ 就是整理后从左到右书的最终价值序列。

说明/提示

### 限制 $1 \le T \le 30$。 **测试集 1 - Visible** $1 \le N \le 100$ $-100 \le s_i \le 100$ **测试集 2 - Hidden** $1 \le N \le 1000$ $-1000 \le s_i \le 1000$ 翻译由 DeepSeek V4 Pro 完成