print1436. Замки и ключи

printЗамки и ключи

Ограничения: время – 1s/2s, память – 64MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод copy
Послать решение 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
##.####.##
##.####.##
##.####.##
.#.#..#.#.
..........
..........
#..#..#..#
##.#..#.##
####..####
##########

Пример вывода

YES
Источник: Весенний турнир ДВГУ, 2010
loading