Keine zwei ausgewählten Zellen in derselben Zeile befinden. Werte. < /li>
< /ul>
Beispieleingang: < /h3>
Die erste Eingabezeile besteht aus einer Ganzzahl n < /code> (Höhe des Gitters). Die nächsten n Zeilen enthält jeweils n Ganzzahlen, die das Raster darstellen.
Code: Select all
3
3 1 4
1 5 1
2 9 1
< /code>
Beispielausgabe: < /h3>
2
< /code>
Mein Ansatz: < /h3>
Hier ist mein Python -Code: < /p>
N = int(input())
grid = []
for _ in range(N):
grid.append(list(map(int, input().split())))
m = [] #initiate to store the minimums
for i in range(N): # Try using column i as starting point
L = []
used_rows = [False] * N
used_cols = [False] * N
# Pick the value at (0, i)
L.append(grid[0][i])
used_rows[0] = True
used_cols[i] = True
count = 1 # Already picked 1 value
for col in range(N):
if used_cols[col]:
continue
for row in range(N):
if used_rows[row]:
continue
# Pick the available (row, col) not used
L.append(grid[row][col])
used_rows[row] = True
used_cols[col] = True
count += 1
break # move to next column
if count == N:
break
if len(L) == N:
m.append(min(L))
print(max(m))
Für die obige Beispieleingabe gibt mein Code 1 anstelle von 2 aus. Was ist los in meiner Logik? Wie kann ich es beheben? Ich kenne einige andere Möglichkeiten, um es wie Permutationen zu lösen, aber ich wollte es so machen.