A105402.皓仔的数位排序

普及-

官方

通过率:0%

时间限制:1.00s

内存限制:128MB

题目描述

皓仔在整理一份成绩单数据。每个数据都是一个整数,他想按一种特殊规则把数组排好序。

排序规则如下:

  1. 位数为奇数的数字放在左边;
  2. 位数为偶数的数字放在右边;
  3. 左边(位数为奇数)的数字按数值升序排列;
  4. 右边(位数为偶数)的数字按数值降序排列。

请你输出按上述规则排序后的数组。

输入格式

第一行一个整数 nn,表示数组长度。
第二行 nn 个整数 a1,a2,,ana_1,a_2,\dots,a_n,表示数组元素。

输出格式

一行输出 nn 个整数,表示排序后的数组元素,数字之间用一个空格分隔。

输入输出样例

  • 输入#1

    6
    1 12 5 100 9 88

    输出#1

    1 5 9 100 88 12
  • 输入#2

    4
    2 13 0 5

    输出#2

    0 2 5 13
    

说明/提示

【样例解释】
在样例 11 中:

  • 位数为奇数的数:1,5,100,91,5,100,9,升序后为 1,5,9,1001,5,9,100
  • 位数为偶数的数:12,8812,88,降序后为 88,1288,12
  • 先输出位数为奇数部分,再输出位数为偶数部分,得到最终序列。

在样例 22 中:

  • 位数为奇数的数:2,0,52,0,5,升序后为 0,2,50,2, 5
  • 位数为偶数的数:1313,降序后为 1313
  • 先输出位数为奇数部分,再输出位数为偶数部分,得到最终序列。

【数据范围】

对于所有测试数据保证: 1n2×1051\le n\le 2\times 10^50ai1090 \le a_i\le 10^9

首页