Соревнование
Рассмотрим сетку короля 3x3, как показано на следующем рисунке ASCII:
A--B--C
|\/|\/|
|/\|/\|
D--E--F
|\/|\/|
|/\|/\|
G--H--I
В качестве входных данных вы получаете список целых чисел длиной 9, которые обозначают маркировку узлов. Например, ввод [0,1,1,2,1,0,5,5,1]
представляет следующую маркировку:
0--1--1
|\/|\/|
|/\|/\|
2--1--0
|\/|\/|
|/\|/\|
5--5--1
Ваш вывод - это набор целых чисел на входе, которые образуют соединенные наборы узлов. Более конкретно, выходные данные должны содержать целое число n
из входных данных тогда и только тогда, когда набор узлов с меткой n
связан. В этом примере приемлемый вывод будет [1,2,5]
, так как два 0
s не связаны. Побеждает самое низкое число байтов.
Подробные правила
- Вы можете выбрать фиксированный порядок для узлов в вашем входном списке, и вы должны указать это в своем ответе. В заказе EFBDHCAGI указанная выше маркировка будет иметь вид
[1,0,1,2,5,1,0,5,1]
. - Вы можете написать либо полную программу, либо функцию. В последнем случае выводом может быть набор целых чисел, если ваш язык поддерживает их.
- Выходной список может содержать дубликаты, но его длина не должна превышать 9.
- Стандартные лазейки запрещены.
Контрольные примеры
Они имеют однозначные числа, выровненные по сетке; настроить их по вашему выбору.
011
210 => 1 2 5
551
010
202 => 0 2
221
110
123 => 0 2 3
221
111
111 => 1
111
111
141 => 1 4
111
источник
CJam,
5667 байтЗаказ:
CIGABFHDE
.Пример ввода:
Вывод:
Сначала удаляются числа в углах, которые совпадают с числами на сторонах. Затем он удаляет числа на сторонах, которые совпадают с числами на следующих сторонах. Наконец, он удаляет все числа, встречающиеся два или более раз, и добавляет центральный номер.
источник
CJam, 90 байтов
Это основано на итеративной заливке, описанной здесь, и может быть очень популярным!
Требуется ввод в следующем порядке
ABCDEFGH
:и на выходе это подключенные узлы:
Краткое объяснение
Полное объяснение, чтобы следовать
Попробуйте онлайн здесь
источник