Это дополнительная задача для создания головоломки Loopy . Возможно, вы захотите решить эту задачу, прежде чем пытаться выполнить более сложную задачу из предыдущей ссылки.
Цель этой задачи - проверить правильность решения загадочной головоломки. Пожалуйста, возьмите всю документацию о загадочной загадке из предыдущей ссылки. Решенная зацикленная головоломка отформатирована очень похожим образом на вывод правильного представления для задачи «генерировать зацикленные головоломки» и может выглядеть следующим образом:
+-+-+ +-+ +-+ +
| | | |2|3|
+-+ + + + + +-+
2| | | |2| 3|
+ + +-+ + + +-+
2| 2 1|3| |
+-+ +-+ +-+ +-+
|2 | | 1 2|
+ +-+ +-+ +-+ +
| |2 1 2|3|3| |
+ + +-+ +-+ +-+
| | |3|2 1
+ +-+ +-+-+-+-+
| 2 2 |
+-+-+-+-+-+-+-+
Путь , который составляет решение помечается |и -символы между +символами.
Входная спецификация
Ваша программа должна получить зацикленную головоломку с решением, отформатированным, как в примере выше, в качестве входных данных. Ваша программа должна определить размер головоломки по входным данным. Вы можете сделать следующие предположения относительно ввода:
- Головоломка имеет не менее 2 и не более 99 клеток в любом направлении
- Таким образом, каждая строка имеет максимальную длину 199 символов, не включая символы новой строки
- Таким образом, вход содержит максимум 99 строк
- каждая строка может заканчиваться после последнего печатного символа или может быть дополнена пробельными символами, поэтому она имеет длину до 2 · y + 1 символов, где y - количество ячеек в горизонтальном направлении
- каждая позиция с координатами x и y даже содержит
+символ - позиции, расположенные горизонтально или вертикально рядом с позициями, содержащими
+символы, содержат либо символ пробела, находятся за концом строки или содержат-символ, если он расположен горизонтально, или|символ, если он расположен вертикально - все остальные позиции либо за концом строки или содержать один из символов
,0,1,2, или3 - все строки заканчиваются символами новой строки по умолчанию вашей платформы
- есть ровно один завершающий перевод строки
Входные данные должны быть получены одним из следующих способов:
- Со стандартного ввода
- Как значение параметра, указанного
pв запросе HTTP POST - Как содержание формы HTML
- Как содержимое файла с именем
pв каталоге, определяемом реализацией - В реализации, определенной способом во время выполнения, если первые четыре не доступны
- Жестко запрограммирован, если ваш язык не дает возможности получить ввод
Спецификация выхода
Ваша программа должна завершиться для всех входных данных, соответствующих входной спецификации, и должна вычислить, является ли решение головоломки правильным. Ваша программа должна вывести результат вычисления в виде логического значения одним из следующих способов:
- В качестве состояния выхода либо ноль (решение является действительным), либо ненулевое (решение является недействительным)
- В качестве символа
y(решение допустимо) илиn(решение недействительно) следует ноль или более произвольных символов, выводимых способом, определяемым реализацией
Поведение вашей программы не определено при обнаружении ввода, не отформатированного в соответствии со спецификацией ввода.
счет
Оценка вашей программы - это количество символов в ее источнике, за исключением пропускаемых пробельных символов и пропускаемых комментариев. Вам предлагается сделать отступ в своем представлении, чтобы его легче было прочитать другим и прокомментировать свое решение, чтобы было легче следовать.
Материалы, которые не соответствуют спецификации ввода или вывода или не дают неверных результатов, являются недействительными.
0также есть действительные числа для клетки.