Интернет-олимпиады, Сезон 2025-2026, Четвертая личная олимпиада
A. Древняя игра
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

В Японии очень популярны старые настольные игры на логику. Одна из таких игр проводится на доске размером $$$n \times m$$$.

В каждой позиции $$$(i, j)$$$, то есть на пересечении $$$i$$$-й сверху строки и $$$j$$$-го слева столбца, может находиться произвольное число фишек, которое мы обозначим за $$$a_{i, j}$$$. Правила самой игры довольно сложные: сложнее, чем шахматы, Го и Сёги, поэтому мы их не будем тут описывать целиком. Однако даже к стартовой расстановке фишек есть требования, про которые и будет эта задача.

Первое правило звучит следующим образом: к началу игры для любых двух соседних по стороне клеток суммарное число фишек в них должно быть нечётным. Более формально, если выполняется $$$|i_1-i_1| + |j_1-j_2| = 1$$$, то должно выполняться условие, что $$$a_{i_1, j_1} + a_{i_2, j_2}$$$ — нечётное число.

Вам дано текущее состояние доски, описанное матрицей текущих значений $$$a_{i, j}$$$. Первый игрок за одно действие может добавить ровно одну фишку на любую клетку поля. Причем у первого игрока будет тем больше преимущество,

  • чем меньше суммарное число фишек на поле после его действий;
  • а при равенстве общего числа фишек — чем лексикографически меньше итоговая матрица $$$a_{i, j}$$$.

Напомним, что матрица $$$X$$$ лексикографически меньше матрицы $$$Y$$$, если после записи каждой из матриц в одну строку (по строкам, сначала выписав первую, затем вторую, и так далее), в первой позиции, где они различаются, в записи матрицы $$$X$$$ стоит меньшее число.

Требуется добиться выполнения требуемого правила, добившись наиболее выгодной для первого игрока стартовой позиции. После внесения изменений выведите итоговую таблицу значений $$$a_{i, j}$$$.

Входные данные

Первая строка содержит два целых числа $$$n$$$ и $$$m$$$ — размеры игровой доски ($$$1 \le n, m \le 100$$$).

В следующих $$$n$$$ строках содержится по $$$m$$$ целых чисел, $$$j$$$-е число в $$$i$$$-й строке равно $$$a_{i,j}$$$ — исходному числу фишек в клетке $$$(i, j)$$$ ($$$0 \le a_{i, j} \le 10^9$$$).

Выходные данные

Выведите $$$n$$$ строк по $$$m$$$ чисел — итоговую таблицу значений $$$a_{i, j}$$$.

Суммарное количество фишек должно быть минимально возможным, для любых соседних по стороне клеток должно выполняться условие, что сумма их значений нечётна, а среди всех таких вариантов итоговая матрица должна быть лексикографически минимальна.

Система оценки

Баллы за подзадачи начисляются только в случае, если все тесты соответствующей подзадачи и необходимых подзадач успешно пройдены.

ПодзадачаБаллы Дополнительные ограничения Необходимые подзадачи Информация о проверке
0–примеры из условияполная
110$$$n = 1$$$; $$$m = 3$$$первая ошибка
210$$$n = 1$$$1первая ошибка
320$$$n, m \le 10$$$0 – 2первая ошибка
420$$$n, m \le 50$$$0 – 3первая ошибка
530нет0 – 4первая ошибка
Пример
Входные данные
2 3
1 1 2
2 2 3
Выходные данные
2 1 2 
3 2 3 

B. Стринг-арт
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

В Японии относительно недавно получила распространение школа стринг-арта: искусства, где изображения создаются на доске путем перевязывания нитей между вколотыми в нее гвоздиками.

Начинающий японский художник рисует абстрактную картину на $$$n$$$ гвоздиках, занумерованных от $$$1$$$ до $$$n$$$ в порядке их расположения на доске слева направо. Для каждого гвоздика известны его координаты на доске: $$$i$$$-й гвоздик расположен в позиции $$$(x_i, y_i)$$$, причем $$$x_1 \le x_2 \le \ldots \le x_n$$$.

Для основы изображения художник хочет создать базовый образ с помощью всего лишь двух нитей, которые на данный момент обе привязаны только к первому гвоздику. Причем, чтобы базовый образ был достаточно полным и гармоничным, художник хочет, чтобы выполнялись следующие требования:

  • Если какая-то нить последний раз была привязана к гвоздику номер $$$i$$$, то затем ее можно привязать только к гвоздику с номером $$$ \gt i$$$. Иными словами, последовательность узлов на любой нити должна иметь строго возрастающие номера гвоздиков.
  • Каждый гвоздик должен быть использован хотя бы один раз, то есть для любого $$$i$$$ существует либо узел первой нити на $$$i$$$-м гвоздике, либо узел второй нити, либо обеих.
  • Суммарная потраченная длина нитей должна быть как можно меньше.

Расстояние между гвоздиками $$$i$$$ и $$$j$$$ равно $$$\sqrt{(x_i - x_j)^2 + (y_i - y_j)^2}$$$. Суммарная длина используемых нитей равна сумме расстояний между их соседними узлами. При этом каждая нить может быть привязана на произвольное число гвоздиков, и последние гвоздики двух нитей не обязаны совпадать.

Определите оптимальную основу для стринг-арт рисунка, для которой выполняются все поставленные условия.

Входные данные

Первая строка содержит одно целое число $$$n$$$ — количество гвоздиков на доске ($$$2 \le n \le 2000$$$).

В $$$i$$$-й из следующих $$$n$$$ строк даны два целых числа $$$x_i$$$ и $$$y_i$$$ — координаты $$$i$$$-го гвоздика ($$$|x_i|, |y_i| \le 10^9$$$). Гарантируется, что $$$x_1 \le x_2 \le \ldots \le x_n$$$.

Выходные данные

Выведите одно число — минимальную возможную суммарную длину нитей, которую придется потратить. Ответ считается правильным, если абсолютная или относительная ошибка не превышает $$$10^{-6}$$$.

Система оценки

Баллы за подзадачи начисляются только в случае, если все тесты соответствующей подзадачи и необходимых подзадач успешно пройдены.

ПодзадачаБаллы Дополнительные ограничения Необходимые подзадачи Информация о проверке
0–примеры из условияполная
110$$$n \le 10$$$0первая ошибка
230$$$n \le 34$$$0, 1первая ошибка
315$$$n \le 200$$$0 – 2первая ошибка
415$$$y_i = 0$$$ для всех $$$i$$$первая ошибка
530нет0 – 4первая ошибка
Примеры
Входные данные
2
0 0
3 4
Выходные данные
5.0000000000
Входные данные
3
0 0
1 10
2 0
Выходные данные
12.0498756211
Входные данные
4
0 0
2 0
5 0
9 0
Выходные данные
9.0000000000
Входные данные
5
0 0
1 4
2 1
3 5
4 0
Выходные данные
10.8313095581

Условие недоступно на русском языке
D. Японская кулинария
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

В Японии есть огромное число традиционных способов приготовить одни и те же ингредиенты. Будем считать, что всего есть $$$n$$$ различных способов приготовления, пронумерованных от $$$1$$$ до $$$n$$$, и $$$m$$$ традиционных ингредиентов, пронумерованных от $$$1$$$ до $$$m$$$.

Известный шеф-повар устраивает мастер-класс и собирается приготовить ровно $$$a_{i, j}$$$ блюд, используя $$$i$$$-й способ готовки и $$$j$$$-й ингредиент как основной. Соответственно, суммарное число приготовленных блюд будет равно $$$A = \sum\limits_{i=1}^n \sum\limits_{j=1}^m a_{i, j}$$$.

Два известных кулинарных критика планируют посетить мастер-класс, и шеф-повар заранее планирует, какие $$$k$$$ из этих $$$A$$$ блюд он предоставит им на дегустацию. Разумеется, у критиков есть строгие правила, которые они выдвигают к выбранному набору блюд:

  • набор должен быть непустой; то есть хотя бы одно блюдо должно быть подано, $$$k \ge 1$$$;
  • все блюда в наборе должны быть приготовлены попарно различными способами;
  • не более половины поданных блюд должны быть приготовлены с использованием одного и того же ингредиента в качестве основного; иными словами, для любого ингредиента число блюд с ним в основе должно не превосходить $$$\left\lfloor\frac{k}{2}\right\rfloor$$$.

Шефа интересует, сколько есть различных способов выбрать набор произвольного размера из множества $$$A$$$ возможных блюд, который удовлетворит критиков? Наборы считаются различными, если есть хотя бы одно блюдо, присутствующее в одном из них, но не в другом. Поскольку это число может быть большим, найдите остаток от его деления на $$$998\,244\,353$$$.

Входные данные

В первой строке даны два целых числа $$$n$$$ и $$$m$$$ — число способов приготовления и число традиционных ингредиентов ($$$1 \le n \le 100$$$; $$$1 \le m \le 2000$$$).

В $$$i$$$-й из следующих $$$n$$$ строк перечислены $$$m$$$ целых чисел $$$a_{i, j}$$$ — число возможных блюд с использованием $$$i$$$-го способа приготовления и $$$j$$$-го ингредиента ($$$0 \le a_{i,j} \le 998\,244\,353$$$).

Выходные данные

Выведите единственное число — остаток от деления числа удовлетворяющих критиков наборов блюд на $$$998\,244\,353$$$.

Система оценки

Баллы за подзадачи начисляются только в случае, если все тесты соответствующей подзадачи и необходимых подзадач успешно пройдены.

ПодзадачаБаллы$$$n = $$$$$$m = $$$$$$a_{i,j} \lt $$$ Необходимые подзадачи Информация о проверке
0–примеры из условияполная
14$$$2$$$$$$2$$$$$$2$$$первая ошибка
24$$$2$$$$$$3$$$$$$2$$$1первая ошибка
34$$$5$$$$$$2$$$$$$2$$$1первая ошибка
44$$$5$$$$$$3$$$$$$2$$$1 – 3первая ошибка
54$$$10$$$$$$2$$$$$$2$$$1, 3первая ошибка
64$$$10$$$$$$3$$$$$$2$$$1 – 5первая ошибка
74$$$10$$$$$$2$$$$$$1000$$$1, 3, 5первая ошибка
84$$$10$$$$$$3$$$$$$1000$$$1 – 7первая ошибка
916$$$40$$$$$$2$$$$$$1000$$$1, 3, 5, 7первая ошибка
1016$$$40$$$$$$3$$$$$$1000$$$1 – 9первая ошибка
1120$$$40$$$$$$500$$$$$$1000$$$0 – 10первая ошибка
1216$$$100$$$$$$2000$$$$$$998\,244\,353$$$0 – 11первая ошибка
Примеры
Входные данные
2 3
1 0 1
0 1 1
Выходные данные
3
Входные данные
3 3
1 2 3
4 5 0
6 0 0
Выходные данные
190
Входные данные
5 5
1 0 0 1 1
0 1 0 1 0
1 1 1 1 0
1 0 1 0 1
0 1 1 0 1
Выходные данные
742