CF1174B Ehab Is an Odd Person
题目描述
给定一个长度为 $n$ 的数组 $a$。你可以对其进行如下操作任意多次:
- 选择两个整数 $i$ 和 $j$($1 \le i,j \le n$),如果 $a_i + a_j$ 是奇数,则交换 $a_i$ 和 $a_j$。
你能得到的字典序最小的数组是什么?
如果存在某个下标 $i$ 使得 $x_i < y_i$,且对于所有 $1 \le j < i$ 都有 $x_j = y_j$,则数组 $x$ 被认为在字典序上小于数组 $y$。通俗来说,在第一个不同的位置,$x$ 的元素小于 $y$ 的元素。
输入格式
第一行包含一个整数 $n$($1 \le n \le 10^5$),表示数组 $a$ 的元素个数。
第二行包含 $n$ 个用空格分隔的整数 $a_1, a_2, \ldots, a_n$($1 \le a_i \le 10^9$),表示数组 $a$ 的元素。
输出格式
输出一行 $n$ 个用空格分隔的整数,表示你能得到的字典序最小的数组。
说明/提示
在第一个样例中,我们可以交换 $1$ 和 $4$,因为 $1+4=5$,是奇数。
由 ChatGPT 4.1 翻译