编程题
### **问题描述** 在蓝桥王国,数字的大小不仅仅取决于它们的数值大小,还取决于它们所形成的“封闭图形”的个数。 封闭图形是指数字中完全封闭的空间,例如数字 $1$、$2$、$3$、$5$、$7$ 都没有形成封闭图形,而数字 $0$、$4$、$6$、$9$ 分别形成了 $1$ 个封闭图形,数字 $8$ 则形成了 $2$ 个封闭图形。值得注意的是,封闭图形的个数是可以累加的。例如,对于数字 $68$,由于 $6$ 形成了 $1$ 个封闭图形,而 $8$ 形成了 $2$ 个,所以 $68$ 形成的封闭图形的个数总共为 $3$。 在比较两个数的大小时,如果它们的封闭图形个数不同,那么封闭图形个数较多的数更大。例如,数字 $41$ 和数字 $18$,它们对应的封闭图形的个数分别为 $1$ 和 $2$,因此数字 $41$ 小于数字 $18$。如果两个数的封闭图形个数相同,那么数值较大的数更大。例如,数字 $14$ 和数字 $41$,它们的封闭图形的个数都是 $1$,但 $14 < 41$,所以数字 $14$ 小于数字 $41$。 如果两个数字的封闭图形个数和数值都相同,那么这两个数字被认为是相等的。 小蓝对蓝桥王国的数字大小规则十分感兴趣。现在,他将给定你 $n$ 个数 $a_1, a_2, \dots, a_n$,请你按照蓝桥王国的数字大小规则,将这 $n$ 数从小到大排序,并输出排序后结果。 ### **输入格式** 第一行包含一个整数 $n$,表示给定的数字个数。 第二行包含 $n$ 个整数 $a_1, a_2, \dots , a_n$,表示待排序的数字。 ### **输出格式** 输出一行,包含 $n$ 个整数,表示按照蓝桥王国的数字大小规则从小到大排序后的结果,每两个数字之间用一个空格分隔。 ### **样例输入** ```text 3 18 29 6 ``` ### **样例输出** ```text 6 29 18 ``` ### **样例说明** 对于给定的数字序列 $[18, 29, 6]$,数字 $18$ 的封闭图形个数为 $2$,数字 $29$ 的封闭图形个数为 $1$,数字 $6$ 的封闭图形个数为 $1$。按照封闭图形个数从小到大排序后,得到 $[29, 6, 18]$。 由于数字 $29$ 和数字 $6$ 的封闭图形个数相同,因此需要进一步按照数值大小对它们进行排序,最终得到 $[6, 29, 18]$。 ### **评测用例规模与约定** 对于 $50\\%$ 的评测用例,$1\leq n \leq 2\times 10^3$,$1\leq a_i \leq 10^5$。 对于所有评测用例,$1\leq n \leq 2\times 10^5$,$1\leq a_i \leq 10^{9}$。
查看答案
赣ICP备20007335号-2