Ограничения: время – 250ms/500ms, память – 64MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод
Послать решение Blockly Посылки Темы Где Обсудить (0)
В школе № 100 школьники любят играть в "морской бой". Каждый из игроков на доске 10x10 расставляет один корабль из 4 клеток,
2 корабля из 3 клеток, 3 корабля из 2 клеток и 4 корабля из одной клетки таким образом,
чтобы они не соприкасались даже углами. Затем один из игроков "стреляет", называя номер одной из клеток.
Если "выстрел" не попадает ни по одному из кораблей, то результатом "выстрела" является "промах".
Если "выстрел" попадает в один из кораблей, но у этого корабля остаются части, в которые не попал ни один выстрел,
то результат "выстрела" – повреждение корабля, если все части корабля повреждены, то результат – уничтожение корабля.
Для проведения чемпионата школы по игре в "морской бой" разрабатывается сервер,
на который игроки загружают расположения своих кораблей и затем отправляют "выстрелы" по кораблям противника.
Требуются написать один из ключевых модулей этого сервера – программу, которая вычисляет результаты "выстрелов".
В первой строке ввода содержится одно целое число `N` (`1\ ≤\ N\ ≤\ 100`) – количество "выстрелов".
Далее следует 10 строк по 10 символов – расположение кораблей противника. Пустая клетка обозначается символом '.',
а клетка с частью корабля – символом '#'. Далее следует `N` строк, в каждой строке – номер клетки, по которой
игрок сделал выстрел. Клетки доски пронумерованы целыми числами слева направо и сверху вниз от 1 до 100 (см.рис.).
Вывести `N` строк с результатами "выстрелов". В `i`-й строке должен быть результат `i`-го "выстрела". В случае промаха
вывести сообщение "missed", повреждения корабля – "damaged", уничтожения корабля – "sinked",
повторного "выстрела" по клетке – "repeated".
Пример ввода
3
..####.###
#.........
#.#.......
..#....#..
..#.......
........#.
##...##...
..........
.......#..
...#......
1
11
21
Пример вывода
missed
damaged
sinked