Соседи

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

Например, в матрице:

соседними элементами для (0, 0) будут 2 и 0. А для (2, 1) – 1, 2, 7, 7.

Формат ввода

В первой строке задано n — количество строк матрицы. Во второй — количество столбцов m. Числа m и n не превосходят 1000. В следующих n строках задана матрица. Элементы матрицы — целые числа, по модулю не превосходящие 1000. В последних двух строках записаны координаты элемента (индексация начинается с нуля), соседей которого нужно найти.

Формат вывода

Напечатайте нужные числа в возрастающем порядке через пробел.

n = int(input())
m = int(input())
a = []
for i in range(n):
    row = input().split()
    for i in range(m):
        row[i] = int(row[i])
    a.append(row)
n0 = int(input())
m0 = int(input())

sp_it = []
if n0 > 0:
    n1 = n0 - 1
    m1 = m0
    sp_it.append(a[n1][m1])

if m0 < m - 1:
    n1 = n0
    m1 = m0 + 1
    sp_it.append(a[n1][m1])

if n0 < n - 1:
    n1 = n0 + 1
    m1 = m0
    sp_it.append(a[n1][m1])

if m0 > 0:
    n1 = n0
    m1 = m0 - 1
    sp_it.append(a[n1][m1])

sp_it.sort()
for k in sp_it:
	print(k, end=' ')




Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: