Электронная промышленность Байтландии развивается и одна из компаний начала выпускать черно-белые квадратные экраны размером nXn пикселей.
Для экономии траффика был разработан специальный режим экрана, в котором при вызове
функции с параметрами row, col изменяется состояние всех пикселей в строке row и столбце col (то
есть черные пиксели становятся белыми, а белые черными). Пиксел на пересечении строки row
и col также меняет свое состояние.
Чтобы продемонстрировать возможности экономии траффика необходимо разработать последовательность вызовов функции для формирования определенного изображения. Изначально весь экран черный (все пиксели находятся в состоянии 0).
В первой строке входных данных записано число t - количество различных изображений, которые необходимо сформировать на экране. Затем описывается t блоков. Описание блока содержит число n - размер экрана, а затем n строк по n чисел 0 или 1 в каждой - изображение, которое
необходимо сформировать на экране.
В качестве ответа необходимо сформировать t блоков с параметрами вызова функции для формирования изображения на экране. Описание каждого блока должно состоять из числа k - количества вызовов функции для генерации изображения и k пар чисел row, col, задающих параметры
функции. Нумерация начинается с левого верхнего угла, с нуля.
t=3
t=7
Коп их стрелял но бэтмен их они полетели в Заоблачную даль
К другим крутим людям которие б им мир но из-за жучка прилетели копы и взорвали Заоблачную даль всех посадили в тюрмю но банда Эммета уцелела они пошли к Президенту гле их ожидали и словили все билы без но Эммет вибралса гле подертвовал собой для других и они закончили то что Эммет начал надавали люлей Президенту и копам и мир не взорвался а Эммет вижил!
Конец!
Шаг 1.
В алфавите, согласно условию задачи, ровно 15 символов.
Шаг 2.
Давайте посмотрим, сколько нужно минимум выделить бит на 1 символ из алфавита, состоящего из 15 символов.
Если бы мы выделили 1 бит информации, то он бы смог закодировать 1 символ алфавита, состоящего не более чем из 2 символов. А у нас их 15 Значит, 1 бита мало.
Если выделить 2 бита, то закодировать можно символ в алфавите максимум из 4 символов. Мало.
Если выделить 3 бита, то закодировать можно символ в алфавите максимум из 8 символов. Мало.
Если выделить 4 бита, то закодировать можно символ в алфавите максимум из 16 символов. Достаточно.
Значит, для кодирования 1 символа данного алфавита достаточно 4 бит.
Шаг 3.
1 пароль состоит из 15-ти символов.
1 символ "весит" 4 бита.
Значит, 15 символов будут "весить" 15х4=60 бит.
Шаг 4.
1 пароль по условию кодируется минимально возможным целым количеством байт.
Сколько байт нужно для хранения пароля из 60 бит?
7 байт мало, так как 7 байт = 7х8 = 56 бит.
8 байт — в самый раз: 8 байт = 8х8=64 бита.
Следовательно, для хранения одного пароля нужно 8 байт.
Шаг 5
Один пароль "весит" 8 байт.
У нас — 20 пользователей (и 20 паролей соответственно).
Следовательно, они "весят" 8х20 = 160 байт.
Шаг 6
Выделено было 400 байт под пароли.
Чисто на хранение, согласно п.5, было использовать 160 байт.
Значит, осталось на дополнительную информацию300-160=140 байт.
Шаг 7
140 дополнительных байт имеется подо все пароли.
Всего паролей — 20.
Значит, под каждый дополнительно выделяется 140/20=7 байт.
ответ: по 7 байт дополнительно выделено для хранения одного пароля.
Объяснение: