#LQ1502. 封闭图形个数

封闭图形个数

问题描述

在蓝桥王国,数字的大小不仅仅取决于它们的数值大小,还取决于它们所形成的“封闭图形”的个数。

封闭图形是指数字中完全封闭的空间,例如数字 12357 都没有形成封闭图形,而数字 0469 分别形成了 11 个封闭图形,数字 8 则形成了 22 个封闭图形。值得注意的是,封闭图形的个数是可以累加的。例如,对于数字 68,由于 6 形成了 11 个封闭图形,而 8 形成了 22 个,所以 68 形成的封闭图形的个数总共为 33

在比较两个数的大小时,如果它们的封闭图形个数不同,那么封闭图形个数较多的数更大。例如,数字 41 和数字 18,它们对应的封闭图形的个数分别为 1122,因此数字 41 小于数字 18。如果两个数的封闭图形个数相同,那么数值较大的数更大。例如,数字 14 和数字 41,它们的封闭图形的个数都是 11,但 14<41,所以数字 14 小于数字 41。 如果两个数字的封闭图形个数和数值都相同,那么这两个数字被认为是相等的。

小蓝对蓝桥王国的数字大小规则十分感兴趣。现在,他将给定你 nn 个数 a1,a2,,ana_1,a_2,…,a_n,请你按照蓝桥王国的数字大小规则,将这 nn 数从小到大排序,并输出排序后结果。

输入格式

第一行包含一个整数 nn,表示给定的数字个数。

第二行包含 nn 个整数 a1,a2,,ana_1,a_2,…,a_n,表示待排序的数字。

输出格式

输出一行,包含 nn 个整数,表示按照蓝桥王国的数字大小规则从小到大排序后的结果,每两个数字之间用一个空格分隔。

3
18 29 6
6 29 18

样例说明

对于给定的数字序列 [18,29,6][18,29,6],数字 18 的封闭图形个数为 22,数字 29 的封闭图形个数为 11,数字 6 的封闭图形个数为 11。按照封闭图形个数从小到大排序后,得到 [29,6,18][29,6,18]

由于数字 29 和数字 6 的封闭图形个数相同,因此需要进一步按照数值大小对它们进行排序,最终得到 [6,29,18][6,29,18]

评测用例规模与约定

对于 50%50\% 的评测用例,1n2×1031≤n≤2×10^31ai1051≤a_i≤10^5

对于所有评测用例,1n2×1051≤n≤2×10^51ai1091≤a_i≤10^9