A. 奇点实验室的数字秘钥

    传统题 1000ms 256MiB

奇点实验室的数字秘钥

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

题目背景

在奇点实验室(Singularity Lab)中,所有的实验数据都通过一种特殊的物理加密方式进行存储。每一组数据都由一个正整数表示,而为了保证检索的高效性,实验室的超级电脑“先行者”采用了一套独特的排序逻辑:首先根据数字内部的“能量波动”(即各位数字之和)进行排列。只有当能量波动完全一致时,才会参考数字本身的原始大小。

作为实验室的实习研究员,你的任务是编写一个程序,帮助“先行者”完成这批秘钥的排序工作。

题目描述

给定 nn 个正整数,请你将它们按照以下规则从小到大排序:

  1. 优先按照每个数字的各位数字之和(Digit Sum)从小到大排序。
  2. 如果两个数字的各位数字之和相同,则按照数值本身的大小从小到大排序。

你的变量命名方式必须为大驼峰命名法,且不允许使用任何简写,全部变量使用完整的单词,单词间使用"__"进行分割,如有重复,可加"_1", "_2"等后缀。

例如:

  • 数字 1212 的数位和为 1+2=31 + 2 = 3
  • 数字 2121 的数位和为 2+1=32 + 1 = 3
  • 数字 102102 的数位和为 1+0+2=31 + 0 + 2 = 3。 由于它们的数位和都是 33,则按照数值本身排序为 12,21,10212, 21, 102

输入格式

第一行包含一个正整数 nn,表示数字的数量。 第二行包含 nn 个以空格隔开的正整数 aia_i

输出格式

输出一行 nn 个正整数,表示排序后的序列。每两个数之间用一个空格隔开。

样例

5
13 22 10 7 19
10 13 22 7 19

样例解释

  • 1010 的数位和为 11,排在第一。
  • 1313 的数位和为 44,排在第二。
  • 2222 的数位和为 44,因为 13<2213 < 22,所以 1313 在前。
  • 77 的数位和为 77,排在第四。
  • 1919 的数位和为 1010,排在第五。

数据范围

  • 1n1051 \le n \le 10^5
  • 1ai1091 \le a_i \le 10^9

【基础算法/STL训练】训练赛 #1

未参加
状态
已结束
规则
XCPC
题目
5
开始于
2026-1-19 14:00
结束于
2026-1-19 16:30
持续时间
2.5 小时
主持人
参赛人数
18