Распечатать прямоугольный шаблон с заданным центром

Опубликовано: 22 Сентября, 2022

Даны 3 положительных целых числа c1, c2 и n, где n — размер двумерной квадратной матрицы. Задача состоит в том, чтобы напечатать матрицу, заполненную прямоугольным узором с координатами центра c1, c2 такими, что 0 <= c1, c2 < n.

Примеры:

Input: c1 = 2, c2 = 2, n = 5
Output:
2 2 2 2 2  
2 1 1 1 2  
2 1 0 1 2  
2 1 1 1 2  
2 2 2 2 2 

Input: c1 = 3, c2 = 4, n = 7 
Output:
4 3 3 3 3 3 3 
4 3 2 2 2 2 2 
4 3 2 1 1 1 2 
4 3 2 1 0 1 2 
4 3 2 1 1 1 2 
4 3 2 2 2 2 2 
4 3 3 3 3 3 3 

Подход: Эту проблему можно решить с помощью двух вложенных циклов. Выполните следующие шаги, чтобы решить эту проблему:

  • Выполните итерацию в диапазоне [0, N-1], используя переменную i, и выполните следующие шаги:
    • Выполните итерацию в диапазоне [0, N-1], используя переменную j, и выполните следующие шаги:
      • Выведите максимум из abs(c1 – i) и abs(c2 – j).
    • Распечатать новую строку.

Ниже приведена реализация вышеуказанного подхода:

Временная сложность: O(N ^ 2)
Вспомогательное пространство: O(1)