Генератор уровня
(Время: 3 сек. Память: 64 Мб Сложность: 56%)
Максим хочет создать уровень для своей компьютерной игры – квадратный остров, окружённый водой.
Остров будет представлять из себя таблицу из n строк и n столбцов. В каждой клетке будет указатель одного из четырёх типов: влево, вправо, вверх или вниз. Указатель обозначает куда произойдёт движение персонажа из этой клетки. При этом, если персонаж оказывается в море, то движение прекращается.
Максим создал таблицу достижимости – про каждую клетку острова он установил, должен ли персонаж оказаться в море, начиная движение из неё, или нет.
Теперь нужно сгенерировать карту острова по таблице, но игровой редактор Максима не обладает таким функционалом. Помогите ему и создайте карту острова по таблице достижимости или сообщите, что это невозможно.
Входные данные
Первая строка входного файла INPUT.TXT содержит целое число n – размер карты (1 ≤ n ≤ 500).
В следующих n строках содержится по n символов, описывающих таблицу достижимости.
Клетки, из которых должно быть невозможно добраться до моря, обозначаются символом «0», а клетки, из которых возможно – символом «1».
Выходные данные
В выходной файл OUTPUT.TXT выведите единственное слово «NO», если карту построить невозможно.
Если же возможно, то в первой строке выведите «YES», а в следующих n строках саму карту. Максима устроит любой из возможных вариантов.
Переход влево должен обозначатся символом «<» (ASCII-код 60), вправо – символом «>» (ASCII-код 62), вверх – символом «^» (ASCII-код 94) и вниз – символом «v» (ASCII-код 118).
Примеры
№ | INPUT.TXT | OUTPUT.TXT |
1 | 4
1111
1001
1001
1111 | YES
<<<<
<>v^
<^<v
<<<< |
2 | 4
0000
0110
0110
0000 | NO |
Для отправки решения задачи необходимо зарегистрироваться и авторизоваться!
|