Warum gibt mein Ansatz das falsche Ergebnis im kattis Grid -Spielproblem zurück?Python

Python-Programme
Anonymous
 Warum gibt mein Ansatz das falsche Ergebnis im kattis Grid -Spielproblem zurück?

Post by Anonymous »

Ich arbeite an dem Grid -Spielproblem auf Kattis. Sie müssen genau n Zellen wählen, so dass:

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))
Meine Frage:
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.

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post