0358. HARD
Имя входного файла: | hard.in |
Имя выходного файла: | hard.out |
Ограничение по времени: | 3 s |
Ограничение по памяти: | 256 megabytes |
Стажировка в компании KTP SOLUTIONS начинается с простой задачки.
Числовой матрицей N *M называют таблицу из чисел, состоящую из N строк и M столбцов. Если саму матрицу обозначить буквой A, то элемент матрицы, находящийся в i-той строке на j-том месте, обозначают Aij.
Кандидату даётся матрица A размера N *M и его просят найти две матрицы B и C размера N *M такие, что, если сложить их соответствующие элементы, то получится исходная матрица (то есть Aij = Bij + Cij). Всё было бы легко, но есть одно ограничение – в искомых матрицах B и C все числа должны быть различны (хотя числа из разных матриц могут и совпадать).
Сможете ли вы решить такую задачу?
Формат входного файла
В первой строке входного файла находятся два целых числа N и M (1 ≤ N, M ≤ 1'000) – размеры матрицы A. Далее в N строках находится по M целых чисел – элементы матрицы. Числа не превосходят 1'000'000 по модулю.
Формат выходного файла
В выходной файл выведите 2 ⋅N строк по M чисел в каждой – искомые матрицы B и C. Элементы каждой матрицы должны быть различны и не превышать 1'000'000'000 по модулю. Сначала выведите первую матрицу, потом вторую.
Пример:
hard.in | hard.out |
---|---|
2 2 1 2 3 4 | 0 2 -1 1 1 0 4 3 |
1 3 1 3 5 | 11 23 35 -10 -20 -30 |
3 3 2 4 8 16 32 64 128 256 512 | 1 2 3 4 5 6 7 8 9 1 2 5 12 27 58 121 248 503 |
Источник: Муниципальный этап всероссийской олимпиады школьников по информатике, 2013-2014 учебный год
Обсудить
Отправить решение
Версия для печати