Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # Scrivere una funzione che prende da Input:
- # a) una matrice intera di dimensione 'n x n' (con n <= 500)
- # b) un intero k
- # verificare che una sottomatrice k x x sia un altopiano all'interno di M: si dice altopiano di una matrice se e solo se la diff. intercorsa tra gli elementi della matrice รจ al max 10 metri
- def val_max(M,riga,colonna,k):
- max_num = 0
- for i in range(k):
- for j in range(k):
- if M[riga+i][colonna+j] >= max_num:
- max_num = M[riga+i][colonna+j]
- return max_num
- def val_min(M,riga,colonna,k):
- min_num = 100000
- for i in range(k):
- for j in range(k):
- if M[riga+i][colonna+j] < min_num:
- min_num = M[riga+i][colonna+j]
- return min_num
- def altopiano (M,i,j,k):
- massimo = val_max(M,i,j,k)
- minimo = val_min(M,i,j,k)
- if massimo - minimo <= 10:
- return True
- return False
- def esercizio_esame(M,k):
- n = len(M)
- for i in range(n):
- for j in range(n):
- if i + k <= n and j + k <= n:
- if altopiano(M,i,j,k) is True:
- print(i,j)
- return True
- return False
- M = [[1,2,3],
- [300,400,500],
- [300,400,500]]
- M = [[1,2,3,4,5],
- [6,7,8,9,10],
- [10,10,10,10,10],
- [10,10,10,10,10],
- [10,10,10,10,10]]
- print(esercizio_esame(M,4))
Advertisement
Add Comment
Please, Sign In to add comment