π𧩠ΠΠ°Π΄Π°ΡΠ° ΠΎΠ± ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ Π»Π°ΡΠΈΠ½ΡΠΊΠΎΠ³ΠΎ ΠΊΠ²Π°Π΄ΡΠ°ΡΠ°
ΠΠ°ΠΏΠΈΡΠΈΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ, ΡΠ²Π»ΡΠ΅ΡΡΡ Π»ΠΈ Π·Π°Π΄Π°Π½Π½Π°Ρ ΠΊΠ²Π°Π΄ΡΠ°ΡΠ½Π°Ρ ΠΌΠ°ΡΡΠΈΡΠ° Π»Π°ΡΠΈΠ½ΡΠΊΠΈΠΌ ΠΊΠ²Π°Π΄ΡΠ°ΡΠΎΠΌ.
ΠΠ°ΡΠΈΠ½ΡΠΊΠΈΠΉ ΠΊΠ²Π°Π΄ΡΠ°Ρ β ΡΡΠΎ ΠΊΠ²Π°Π΄ΡΠ°ΡΠ½Π°Ρ ΠΌΠ°ΡΡΠΈΡΠ° ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ n x n, ΠΊΠ°ΠΆΠ΄Π°Ρ ΡΡΡΠΎΠΊΠ° ΠΈ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΡΠΎΠ»Π±Π΅Ρ ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΠΎΠ΄Π΅ΡΠΆΠ°Ρ Π²ΡΠ΅ ΡΠΈΡΠ»Π° ΠΎΡ 1
Π΄ΠΎ n
. Π Π‘ΡΠ΅Π΄Π½ΠΈΠ΅ Π²Π΅ΠΊΠ° Π»Π°ΡΠΈΠ½ΡΠΊΠΈΠΌ ΠΊΠ²Π°Π΄ΡΠ°ΡΠ°ΠΌ ΠΏΡΠΈΠΏΠΈΡΡΠ²Π°Π»ΠΈΡΡ ΠΌΠ°Π³ΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π°: ΡΠ°ΠΊΠΈΠ΅ ΡΠ°Π±Π»ΠΈΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈΡΡ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΠΏΡΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΎΠΊΠΊΡΠ»ΡΡΠ½ΡΡ
ΡΠΈΡΡΠ°Π»ΠΎΠ². ΠΠ°ΠΏΠΈΡΠΈΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ Π»Π°ΡΠΈΠ½ΡΠΊΠΎΠ³ΠΎ ΠΊΠ²Π°Π΄ΡΠ°ΡΠ°.
ΠΡ ΠΎΠ΄Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅:
- ΡΠΈΡΠ»ΠΎ
n
β ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΡΡΠΎΠΊ ΠΈ ΡΡΠΎΠ»Π±ΡΠΎΠ² Π² ΠΌΠ°ΡΡΠΈΡΠ΅;
n
ΡΡΡΠΎΠΊ, cn
ΡΠΈΡΠ΅Π» Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ.
ΠΡΡ ΠΎΠ΄Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅:
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π΄ΠΎΠ»ΠΆΠ½Π° Π²ΡΠ²Π΅ΡΡΠΈ YES
, Π΅ΡΠ»ΠΈ Π²Π²Π΅Π΄Π΅Π½Π½Π°Ρ ΠΌΠ°ΡΡΠΈΡΠ° ΡΠ²Π»ΡΠ΅ΡΡΡ Π»Π°ΡΠΈΠ½ΡΠΊΠΈΠΌ ΠΊΠ²Π°Π΄ΡΠ°ΡΠΎΠΌ, ΠΈ NO
Π² ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅.
# ΠΡΠΈΠΌΠ΅Ρ Π²Π²ΠΎΠ΄Π°: 4 2 3 4 1 3 4 1 2 4 1 2 3 1 2 3 4 ΠΡΠΈΠΌΠ΅Ρ Π²ΡΠ²ΠΎΠ΄Π°: #YES
Π Π΅ΡΠ΅Π½ΠΈΠ΅
ΠΠ΅ΡΠ²ΡΠΉ ΡΠΏΠΎΡΠΎΠ±β Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΡΠ½ΠΊΡΠΈΠΈ sorted()
:
n = int(input()) matrix = [[int(i) for i in input().split()] for _ in range(n)] for i in range(n): if sorted(matrix[i]) != list(range(1, n + 1)) or sorted([matrix[j][i] for j in range(n)]) != list(range(1, n + 1)): print('NO') break else: print('YES')
ΠΡΠΎΡΠΎΠΉ ΡΠΏΠΎΡΠΎΠ± β Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΡΠ½ΠΊΡΠΈΠΈ all()
:
n = int(input()) square = [[*map(int,input().split()) ] for i in range(n)] a = all([all([c in row for c in range(1,n + 1)]) for row in square]) b = all([all([c in row1 for c in range(1, n + 1)]) for row1 in zip(*square)]) print(('NO','YES')[a and b])
Π’ΡΠ΅ΡΠΈΠΉ ΡΠΏΠΎΡΠΎΠ± β Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΡΠ°Π½ΡΠΏΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²:
n = int(input()) sq_set = set(range(1, n + 1)) square = [] for i in range(n): square.append(list(map(int, input().split()))) tr_square = list(map(list, zip(*square))) vector_1 = [set(row) == sq_set for row in square] vector_2 = [set(row) == sq_set for row in tr_square] vector = vector_1 + vector_2 if all(vector): print('YES') else: print('NO')
ΠΠ°ΡΠ΅ΡΠΈΠ°Π»Ρ ΠΏΠΎ ΡΠ΅ΠΌΠ΅
- π Π‘Π»ΠΎΠ²Π°ΡΠΈ Π² Python: 12 Π·Π°Π΄Π°Ρ Π΄Π»Ρ Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΡ Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡΠΌΠΈ
- π Python ΠΈ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π·Π°Π΄Π°ΡΠΈ ΠΎ ΡΡΠΊΠ·Π°ΠΊΠ΅
- π ΠΠ·Π²Π΅ΡΡΠ½Π°Ρ Π·Π°Π΄Π°ΡΠ° Ρ ΠΏΠΎΡΠ΅ΡΡΠ½Π½ΡΠΌ Π±ΠΈΠ»Π΅ΡΠΎΠΌ: ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π½Π° Python