Дивіться отвір №1, якщо ви заплуталися.
Що робить кожна дитина після того, як він збирає відра цукерок на Хелловін?
Сортуйте його за типом та розміром, звичайно 1 !
Змагання
Враховуючи викинутий пакет із цукерками різної форми та розміру, сортуйте цукерки зліва направо на основі:
- По-перше: кількість цукерок (тому 5 одного залишиться більше, ніж 4 іншого)
- По-друге (якщо після першого є будь-які зв’язки): Якщо сума однакова, цукерки з більшою внутрішньою площею (виходячи з кількості символів) стануть вище.
Якщо після другого сорту все ще є нічия, то ви можете вибрати або бути першим.
Вхідні дані
Вам дадуть цукерку через stdin; обсипаний. Дивіться приклади нижче.
Вихідні дані
Виведіть замовлені цукерки у правильному порядку. Зауважте, цукерки завжди слід розміщувати в дуже акуратних колонках, щоб заспокоїти вашу OCD-рибу 2 . Цукерки одного типу повинні бути розміщені безпосередньо один під одним. Дивіться приклади нижче.
Що ви маєте на увазі під «внутрішньою зоною»?
Внутрішня площа цукерки вимірюється загальною кількістю персонажів, що складають цукерку в цілому.
Будь-який пробіл у межах "кордону" вважається частиною площі цукерки.
Межею є будь-який з'єднаний цикл символів, кожен діагонал символу або поруч із сусідом.
Наприклад,
+--------+
| |
| |
| |
| |
+--------+
має більше площі, ніж
XXXXXXXX
XXXXXXXX
XXXXXXXX
XXXXXXXX
навіть якщо загалом менше символів.
Приклади
вхід:
_ \| |/ _
_ lllllll -*------------*- -\ /- lllllll
lllllll lllllllll | /\ /\ / | +|\ooooo/|+ lllllllll
lllllllll llll+llll | / \/ \/ | ||o o|| llll+llll
llll+llll lllllllll -*------------*- ||o o|| lllllllll
lllllllll lllllll /| |\ +|/ooooo\|+ lllllll
lllllll | -/ \- |
| | _ |
| -\ /- | lllllll |
| +|\ooooo/|+ | lllllllll |
| ||o o|| | llll+llll |
| ||o o|| + lllllllll rrr--rrr +
+ +|/ooooo\|+ lllllll rr||rr
-/ \- | | || |
| | || |
| | || |
| | || |
| \| |/ | || |
+ -*------------*- | || |
| /\ /\ / | | || |
-\ /- | / \/ \/ | | || |
+|\ooooo/|+ -*------------*- rr||rr
||o o|| /| |\ rrr--rrr
||o o||
+|/ooooo\|+
-/ \-
Став би
_ \| |/ -\ /- rrr--rrr
lllllll -*------------*- +|\ooooo/|+ rr||rr
lllllllll | /\ /\ / | ||o o|| | || |
llll+llll | / \/ \/ | ||o o|| | || |
lllllllll -*------------*- +|/ooooo\|+ | || |
lllllll /| |\ -/ \- | || |
| | || |
| \| |/ -\ /- | || |
| -*------------*- +|\ooooo/|+ | || |
| | /\ /\ / | ||o o|| | || |
| | / \/ \/ | ||o o|| rr||rr
+ -*------------*- +|/ooooo\|+ rrr--rrr
/| |\ -/ \-
_
lllllll \| |/ -\ /-
lllllllll -*------------*- +|\ooooo/|+
llll+llll | /\ /\ / | ||o o||
lllllllll | / \/ \/ | ||o o||
lllllll -*------------*- +|/ooooo\|+
| /| |\ -/ \-
|
|
|
|
+
_
lllllll
lllllllll
llll+llll
lllllllll
lllllll
|
|
|
|
|
+
_
lllllll
lllllllll
llll+llll
lllllllll
lllllll
|
|
|
|
|
+
Другий приклад:
qq \/
qq qq qq +-----+
qq qq qq + |
jjjjjjjj qq qq | |
jjjjjj \/ qq qq | |
jjjj +-----+ <---notice that the left side is not connected qq +-------+
jj jj + | <--> <-->
j j | |
jj <> jj | | <--> qq jjjjjjjj
jj jj +-------+ qq jjjjjj
jjjj qq qq jjjj
qq qq jj jj
j j
+---------------------------------------------------------+ jj <> jj
ooooo +---------------------------------------------------------+ jj jj
o yyyyyy jjjj
o ww - notice diagonal border, allowed
o ww jjjjjjjj
o yyyyyy ooooo ooooo jjjjjj
ooooo o yyyyyy o yyyyyy jjjj
o ww o ww jj jj
o ww o ww j j
o yyyyyy o yyyyyy jj <> jj
ooooo ooooo jj jj
jjjj
Рішення:
qq ooooo jjjjjjjj <--> \/ +---------------------------------------------------------+
qq o yyyyyy jjjjjj +-----+ +---------------------------------------------------------+
o ww jjjj <--> + |
qq o ww jj jj | |
qq o yyyyyy j j <--> | |
ooooo jj <> jj +-------+
qq jj jj
qq ooooo jjjj \/
o yyyyyy +-----+
qq o ww jjjjjjjj + |
qq o ww jjjjjj | |
o yyyyyy jjjj | |
qq ooooo jj jj +-------+
qq j j
ooooo jj <> jj
qq o yyyyyy jj jj
qq o ww jjjj
o ww
qq o yyyyyy jjjjjjjj
qq ooooo jjjjjj
jjjj
qq jj jj
qq j j
jj <> jj
qq jj jj
qq jjjj
Зауважте, що стовпці мають один символ проміжків між ними, а вгорі розташовані горизонтально. Також зауважте, що кожна цукерка знаходиться в точних стовпцях, кожна цукерка з 1 символом проміжку між ними.
Оцінка балів
Це код-гольф, тому найкоротша програма (у байтах) виграє.
1 Що б ти ще робив? Очевидно, ви хочете показати свої дивовижні сили та потужність у кількості зібраних вами цукерок, правда?
2 Я знаю, що ти думаєш! Риба повинна дивитись через зігнуту миску на ваші цукерки, тож вона все-таки спотвориться! Що ж, моя рибка жила (до того, як вона загинула) у прямокутному акваріумі.