[๋ฐฑ์ค€] 11403 ๊ฒฝ๋กœ์ฐพ๊ธฐ (python ํŒŒ์ด์ฌ)

2022. 7. 6. 22:01ยท๐Ÿงฉ Problem Solving/[๋ฐฑ์ค€]

https://www.acmicpc.net/problem/11403

 

11403๋ฒˆ: ๊ฒฝ๋กœ ์ฐพ๊ธฐ

๊ฐ€์ค‘์น˜ ์—†๋Š” ๋ฐฉํ–ฅ ๊ทธ๋ž˜ํ”„ G๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, ๋ชจ๋“  ์ •์  (i, j)์— ๋Œ€ํ•ด์„œ, i์—์„œ j๋กœ ๊ฐ€๋Š” ๊ฒฝ๋กœ๊ฐ€ ์žˆ๋Š”์ง€ ์—†๋Š”์ง€ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค.

www.acmicpc.net


์•„์ด๋””์–ด

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
'๐Ÿงฉ Problem Solving/[๋ฐฑ์ค€]' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • [๋ฐฑ์ค€] 2467 ์šฉ์•ก (python ํŒŒ์ด์ฌ)
  • [๋ฐฑ์ค€] 6064 ์นด์ž‰ ๋‹ฌ๋ ฅ (python ํŒŒ์ด์ฌ)
  • [๋ฐฑ์ค€] 16236 ์•„๊ธฐ ์ƒ์–ด (python ํŒŒ์ด์ฌ)
  • [๋ฐฑ์ค€] 17626 Four Squares (python ํŒŒ์ด์ฌ)
์ œ๋ด‰์•„
์ œ๋ด‰์•„
  • ์ œ๋ด‰์•„
    Overthinking
    ์ œ๋ด‰์•„
    fake it till you make it.
  • ์ „์ฒด
    ์˜ค๋Š˜
    ์–ด์ œ
    • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (104)
      • ๐Ÿงฉ Problem Solving (83)
        • [๋ฐฑ์ค€] (74)
        • [ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] (7)
        • [SW Expert Academy] (1)
        • [์•Œ๊ณ ๋ฆฌ์ฆ˜ for PS] (1)
      • ๐Ÿ“ฆ Data Structure (2)
      • ๐Ÿ“œ Language (14)
        • [python] (14)
      • ๐Ÿ–ค Git (1)
      • ๐ŸŒ† ์ผ์ƒ (2)
        • ๐Ÿ’ฌ ๋ฒฝ๋ณด๊ณ  ๋งํ•˜๊ธฐ (2)
      • ๐Ÿ—„๏ธ ๊ธฐํƒ€ (2)
      • ๐Ÿ”ต css (0)
  • ๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

    • ํ™ˆ
    • ํƒœ๊ทธ
    • ๋ฐฉ๋ช…๋ก
  • ๋งํฌ

  • ๊ณต์ง€์‚ฌํ•ญ

  • ์ธ๊ธฐ ๊ธ€

  • ํƒœ๊ทธ

    imos
    ์œ„์ƒ์ •๋ ฌ
    ๋ฐฑ์ค€
    ๋ถ„ํ•  ์ •๋ณต
    ๊ตฌํ˜„
    ๋ธŒ๋ฃจํŠธํฌ์Šค
    ๋ˆ„์ ํ•ฉ
    ํŒฐ๋ฆฐ๋“œ๋กฌ
    ๋ฐฑํŠธ๋ž˜ํ‚น
    Python
    ์Šคํƒ
    ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค
    ๋‹ค์ต์ŠคํŠธ๋ผ
    BFS
    ํˆฌํฌ์ธํ„ฐ
    ํ”Œ๋กœ์ด๋“œ์›Œ์…œ
    ๋ฐ๋ธŒ์ฝ”์Šค
    Bruteforce
    ๋ถ€๋ถ„ํ•ฉ
    ๋ƒ…์ƒ‰
    ์žฌ๊ท€
    DFS
    slicing
    boj
    ํ”Œ๋กœ์ด๋“œ ์™€์ƒฌ
    ์ •์ฒ˜๊ธฐ
    ํŒŒ์ด์ฌ
    SWEA
    ๊ทธ๋ฆฌ๋””
    DP
  • ์ตœ๊ทผ ๋Œ“๊ธ€

  • ์ตœ๊ทผ ๊ธ€

  • hELLOยท Designed By์ •์ƒ์šฐ.v4.10.3
์ œ๋ด‰์•„
[๋ฐฑ์ค€] 11403 ๊ฒฝ๋กœ์ฐพ๊ธฐ (python ํŒŒ์ด์ฌ)
์ƒ๋‹จ์œผ๋กœ

ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”