28 lines
1.6 KiB
Python
28 lines
1.6 KiB
Python
## Details in README.md
|
||
n,m,k = (int(i) for i in input().split()) #рассчитываем размер таблицы (n- строки,m - столбцы) и кол-во мин
|
||
a = [[0 for j in range (m)] for i in range (n)] #инициилизируем двумерный массив
|
||
#заполняем -1 в соОтветвующую позицию
|
||
for i in range (k):
|
||
row, col = (int(i) - 1 for i in input().split()) #row, col - индексы, индексация начианется с 0, нам надо чтобы с 1, то мы сразу вычтем -1
|
||
a[row][col] = -1
|
||
#заполняем таблицу
|
||
for i in range (n): #хотим посчитать сколько находится по соседству с ней мин (-1)
|
||
for j in range(m):
|
||
if a[i][j] == 0: #причем не учитываются те, где уже есть -1
|
||
for di in range (-1,2):
|
||
for dj in range (-1,2):
|
||
ai = i + di #посчитаем координаты клетки соседней
|
||
aj = j +dj
|
||
#проверим, что не зашли за координаты клетки
|
||
if 0 <= ai < n and 0 <= aj < m and a[ai][aj] == -1: #если это верно, то наша клетка внутри поля \ нашли мину
|
||
a[i][j] += 1
|
||
#осталось вывести таблицу
|
||
for i in range (n):
|
||
for j in range(m):
|
||
if a[i][j] == -1:
|
||
print ('*', end='')
|
||
elif a[i][j] == 0:
|
||
print ('.', end = '')
|
||
else:
|
||
print (a[i][j], end= '')
|
||
print () |