https://www.acmicpc.net/problem/11403
μμ΄λμ΄
1. νλ‘μ΄λ μμ¬
- μμ μ κ°μ€μΉκ° μλ νλ‘μ΄λ μμ¬μ νΌ κ²½νμ΄ μμ΄μ μ΄λ²μλ κ°λ¨νκ² ν΄κ²°νλ€.
- κΈ°μ‘΄ μκ³ λ¦¬μ¦μμ μ½κ°λ§ λ³ννλ©΄ λ¨
μ½λ μ€λͺ
for k in range(N):
for i in range(N):
for j in range(N):
if adj_matrix[i][k] == 1 and adj_matrix[k][j] == 1:
adj_matrix[i][j] = 1
kλ κ±°μ³κ°λ λ Έλ, iλ μμ λ Έλ, jλ λμ°© λ Έλ μμΌλ‘ λ°λ³΅λ¬Έμ μμ±νκ³ ,
i -> kμ k -> jκ° μ‘΄μ¬νλ©΄ i -> jλ‘ μ΄μ΄μ£Όλ μμ μ νλ©΄ λλ€.
μ½λλ κ°λ¨νμ§λ§ νλ‘μ΄λ μκ³ λ¦¬μ¦μμ μΌμ€ forλ¬Έμ μμλ μ€μνλ€.
μλ₯Ό λ€μ΄ 1 -> 3 -> 2 -> 5 μ°κ²°λμ΄μλ€κ³ μκ°ν΄λ³΄μ.
κ±°μ³κ°λ λ Έλ(k)κ° κ°μ₯ λ°κΉ₯μ μμΌλ©΄
k = 2 μΌ λ 3 -> 2 -> 5λ₯Ό μ΄μ΄μ 3 -> 5λ‘ μ°κ²°νκ³
k = 3 μΌ λ 1 -> 3 -> 5λ₯Ό μ΄μ΄μ 1 -> 5λ₯Ό μ°κ²°ν΄μ€λ€.
κ·ΈλΌ μμ λ Έλ(i)κ° λ°κΉ₯μ μλ€λ©΄ μ΄λ»κ² λ κΉ?
λ¨Όμ i = 1 μΌ λ 1 -> 2, 2-> 5λ₯Ό λ¨Όμ κ²μ¬νλκΉ μ°κ²°μ΄ μ λ μνλ‘ λμ΄κ°λ€.
μ΄ν 1 -> 3, 3 -> 2 κ²μ¬λ₯Ό νλ©΄ μ΄μ΄μ§λκΉ 1->2λ‘ μ°κ²°λλ€.
μ¬κΈ°μ λ€μ 1 -> 2μ 2-> 5λ₯Ό κ²μ¬ν μ μλ€. μλ, μ΄λ―Έ λ°λ³΅λ¬Έμμ μ§λκ°κΈ° λλ¬Έμ΄λ€.
κ·Έλμ λ€μ μ°κ²° κ²μ¬ μ ν΄μ€.
λ§λ‘ νμ΄μ μκ°ν΄λ³΄λ©΄ μμμ΄λ λμ κΈ°μ€μΌλ‘ λ¨Όμ μ°κ²°νλ κ² μλκ³
μ€κ°λ€λ¦¬λ₯Ό κΈ°μ€μΌλ‘ 미리미리 μ°κ²°ν΄λ¬μΌ λμ€μ λ°λ€λ₯ μ°κ²°μ΄ λλ€.
μ 체 μ½λ
import sys
N = int(input())
adj_matrix = []
for _ in range(N):
adj_matrix.append([int(x) for x in sys.stdin.readline().rstrip().split()])
for k in range(N):
for i in range(N):
for j in range(N):
if adj_matrix[i][k] == 1 and adj_matrix[k][j] == 1:
adj_matrix[i][j] = 1
for row in adj_matrix:
print(' '.join(map(str,row)))
'𧩠Problem Solving > [λ°±μ€]' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[λ°±μ€] 2467 μ©μ‘ (python νμ΄μ¬) (0) | 2022.07.09 |
---|---|
[λ°±μ€] 6064 μΉ΄μ λ¬λ ₯ (python νμ΄μ¬) (0) | 2022.07.06 |
[λ°±μ€] 16236 μκΈ° μμ΄ (python νμ΄μ¬) (0) | 2022.07.05 |
[λ°±μ€] 17626 Four Squares (python νμ΄μ¬) (0) | 2022.07.05 |
[λ°±μ€] 2293 λμ 1 (python νμ΄μ¬) (1) | 2022.07.05 |