Замки и ключи
Ограничения: время – 1s/2s, память – 64MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод
Послать решение Blockly Посылки Темы Где Обсудить (1)
Во время путешествия по планете Земля инопланетянин Саша с планеты Брук потерял ключ от своего звездолёта.
Он изготовил новый ключ, и теперь ему нужно узнать, сможет ли он открыть этим ключом кабину.
Замок звездолёта представлен в виде матрицы `10\ times\ 10`, состоящей из символов '#' и '.'.
Символ '#' соответствует заполненному пространству, '.' – пустоте.
Ключ представим также в виде аналогичной матрицы. В ключе всегда есть ось – строка, состоящая только из символов '#'.
Поэтому для краткости записи инопланетянин Саша описывает ключ следующим образом:
- номер строки, на которой расположена ось,
- размеры выступов для каждой колонки над и под осью (в строках).
Замок и ключ считаются совместимыми, если при совмещении их матриц заполненные участки не перекрывают друг друга и не остаётся пустот. Необходимо узнать, совместимы ли замок и ключ.
Формат входного файла
Первая строка содержит число `n` – номер строки ключа, на которой расположена ось.
Вторая и третья строки содержат по 10 целых чисел – высота выступов над и под осью соответственно.
Последующие 10 строк содержат по 10 символов каждая – описание замка.
Формат выходного файла
Единственная строка выходного файла должна содержать YES, если ключ и замок совместимы, или NO в противном случае.
Ограничения
`1\ ≤\ n\ ≤\ 10`
Пример ввода
6
2 1 5 1 2 2 1 5 1 2
0 1 2 0 3 3 0 2 1 0
##.####.##
##.####.##
##.####.##
.#.#..#.#.
..........
..........
#..#..#..#
##.#..#.##
####..####
##########
Источник: Весенний турнир ДВГУ, 2010