Натхненний цим запитом про переповнення стека .
Змагання
Вхідні дані
Масив квадратних матриць, що містять невід’ємні цілі числа.
Вихідні дані
Квадратна матриця, побудована з вхідних матриць наступним чином.
Нехай - розмір кожної вхідної матриці, а - кількість вхідних матриць.
Для наочності розглянемо наступні приклади вхідних матриць ( , ):
3 5
4 10
6 8
12 11
2 0
9 1
- Почніть з першої вхідної матриці.
- Зсуньте другу вхідну матрицю N −1 сходинок вниз, а N −1 кроки вправо, щоб її верхній лівий запис збігався з правою нижньою частиною попереднього.
Уявіть другу, зміщену матрицю так, ніби вона складена поверх першої. Підсумовуйте два значення при збігу даних, що збігаються. Напишіть інші значення та заповніть інші записи,
0
щоб отримати матрицю . З прикладу введення, результат поки що є3 5 0 4 16 8 0 12 11
Для кожної залишкової вхідної матриці розмістіть її так, щоб її верхній лівий кут збігався з правою нижньою частиною накопиченої матриці результатів до цього часу. У прикладі, що включає третю вхідну матрицю, дає
3 5 0 0 4 16 8 0 0 12 13 0 0 0 9 1
Вихід - матриця отримана після включення останньої вхідної матриці.
Додаткові правила та роз'яснення
- і - натуральні числа.
- Ви можете додатково приймати і як додаткові входи.
- Введення та вихід можна приймати будь-якими розумними засобами . Їх формат гнучки, як зазвичай.
- Програми або функції дозволені на будь- якій мові програмування . Стандартні лазівки заборонені .
- Виграє найкоротший код у байтах.
Тестові приклади:
У кожному випадку спочатку відображаються вхідні матриці, а потім вихідні.
, :
3 5 4 10 6 8 12 11 2 0 9 1 3 5 0 0 4 16 8 0 0 12 13 0 0 0 9 1
, :
3 5 4 10 3 5 4 10
, :
4 7 23 5 39
, :
11 11 8 6 8 12 11 0 4 4 1 13 9 19 11 13 4 2 11 11 8 0 0 6 8 12 0 0 11 0 8 1 13 0 0 9 19 11 0 0 13 4 2
, :
14 13 10 0 13 20 21 3 9 22 0 8 17 3 19 16 14 13 0 0 0 10 13 20 0 0 0 21 12 22 0 0 0 0 25 3 0 0 0 19 16