دومین مسأله
صورت مسأله: با در اختیار داشتن یک ماتریس مربعی از اعداد ۱ تا ۹، حفرات موجود در ماتریس را پیدا کرده و با حرف X جایگزین نمایید. توجه کنید که باید این ماتریس را مانند یک نقشه فرض کنید که اندازه اعداد عمق حفره را نشان می دهد و حفره به عنوان سلول هایی تعریف می شود که در حاشیه ها نبوده و عمق آن از همه ی سلول های اطراف خود بیشتر باشد. راه حل را در ادامه ببینید.
ورودی به طور مثال به این صورت است:
4
3156
3265
2956
3334
خروجی به این صورت:
3156
32X5
2X56
3334
n = input()
def splitter(string) :
lst = []
for i in string :
lst.append(i)
return lst
def con(lst) :
st = ""
for i in lst :
st = st + i
return st
mapp = []
for i in range(n) :
row = splitter(raw_input())
mapp.append(row)
count1 = 0
for block in mapp :
count2 = 0
for cell in block:
if (count2 != 0 and count2 != (n - 1) and count1 != 0 and count1 != (len(mapp)-1) and cell > block[count2 - 1] and cell > block[count2 + 1] and cell > mapp[count1-1][count2] and cell > mapp[count1+1][count2]) :
block[count2] = "X"
count2 += 1
count1 += 1
count = 0
for block in mapp :
mapp[count] = con(mapp[count])
count += 1
for block in mapp:
print block