ef dicho_matrice(a : list, e : int, i :int, j : int, k : int, l :int) : if i < 0 or j >= len(a) or i > j or k < 0 or l >= len(a[0]) or k > l : return None else : vx, vy = i + (j-i)//2, k + (l-k)//2 v = a[vx][vy] if v < e : candidat = dicho_matrice(a, e, vx+1, j, vy+1, l) if candidat is None : candidat = dicho_matrice(a, e, vx+1, j, k, vy) if candidat is None : candidat = dicho_matrice(a, e, i, vx, vy+1, l) return candidat elif v > e : candidat = dicho_matrice(a, e, i, vx-1, k, vy-1) if candidat is None : candidat = dicho_matrice(a, e, i, vx-1, vy, l) if candidat is None : candidat = dicho_matrice(a, e, vx, j, k, vy-1) return candidat else : return vx, vy