Submit | All submissions | Best solutions | Back to list |
ZJCR - Японский кроссворд |
Японский кроссворд это очень популярная игра. В ней картинка из закрашенных ячеек зашифрована с помощью чисел.
В начале игры перед вами сетка из пустых ячеек. Каждая строка(столбец) содержат несколько чисел в самом начале строки(столбца).
Каждое число означает сколько закрашенных ячеек подряд содержится в картинке (длину группы закрашенных ячеек).
Закрашенные ячейки упорядочены слева направо и сверху вниз.
Между каждой группой закрашенных ячеек содержится хотя бы одна пустая ячейка.
Например, если заданы числа 4, 2, 7, то это означает что в строке всего три группы закрашенных ячеек, и что первая группа длины 4, вторая группа длины 2, а третья группа длины 7.
Ваша задача - расшифровать картинку по заданным подсказкам.
![]() |
![]() |
Входные данные
В первой строке входных данных содержится положительное число t<=300 - количество тестов. Далее для каждого теста первая строка задает количество строк R и количество столбцов C в картинке (1<=R<=50, 1<=C<=100). Ниже следуют R строк. Каждая строка состоит из нескольких целых чисел (горизонтальных подсказок). В конце каждой строки находится 0. После этого следуют еще С строк. Каждая строка состоит из нескольких целых чисел (вертикальных подсказок) и заканчивается нулем. Строки могут состоять из единственного 0 (когда строка в картинке полностью пустая).
Выходные данные
Для каждого теста вы должны расшифровать картинку и вывести ее в виде прямоугольника из R строк и C символов в каждой строке. Символ '#'(решетка) означает заполненную ячейку, символ '.'(точка) означает пустую ячейку.
Начисление очков
Очки, полученные вашей программой, складываются из очков, которые получаются для каждого теста отдельно. Очки за тест вычисляются следующим образом: за каждую правильно расположенную строку (или столбец) дается 1 очко. Правильно расположенной строкой (или столбцом) называется строка(столбец), в которой количество групп совпадает с количествов чисел подсказки и длина каждой группы равна соответствующему числу подсказки. Если все строки и столбцы картинки расположены верно, то полученный результат увеличивается в 1.5 раза.
Пример
Входные данные: 1 10 5 3 0 2 2 0 5 0 5 0 3 0 1 0 1 0 3 0 2 0 3 0 3 0 5 0 1 8 0 5 3 0 3 1 1 0 Выходные данные: .###. ##.## ##### ##### .###. ..#.. ..#.. ..### ..##. ..### Начисление очков: (10+5)*1.5 = 22.500
Дополнительная информация: Если количество очков равно xxx.xxxaaa, то aaa показывает количество полностью правильных решений
Added by: | Maxim Sukhov |
Date: | 2005-02-07 |
Time limit: | 1.267s |
Source limit: | 50000B |
Memory limit: | 1536MB |
Cluster: | Cube (Intel G860) |
Languages: | All except: ASM32-GCC ASM64 MAWK BC C-CLANG NCSHARP CPP14 CPP14-CLANG COBOL COFFEE D-CLANG D-DMD DART ELIXIR FANTOM FORTH GOSU GRV JS-MONKEY JULIA KTLN NIM NODEJS OBJC OBJC-CLANG OCT PERL6 PICO PROLOG PYPY PYPY3 R RACKET RUST CHICKEN SED SQLITE SWIFT UNLAMBDA VB.NET |
Resource: | ;) |