[๋ฐฑ์ค€] 1389 ์ผ€๋นˆ ๋ฒ ์ด์ปจ์˜ 6๋‹จ๊ณ„ ๋ฒ•์น™ (python ํŒŒ์ด์ฌ)

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

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

 

1389๋ฒˆ: ์ผ€๋นˆ ๋ฒ ์ด์ปจ์˜ 6๋‹จ๊ณ„ ๋ฒ•์น™

์ฒซ์งธ ์ค„์— ์œ ์ €์˜ ์ˆ˜ N (2 ≤ N ≤ 100)๊ณผ ์นœ๊ตฌ ๊ด€๊ณ„์˜ ์ˆ˜ M (1 ≤ M ≤ 5,000)์ด ์ฃผ์–ด์ง„๋‹ค. ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ M๊ฐœ์˜ ์ค„์—๋Š” ์นœ๊ตฌ ๊ด€๊ณ„๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ์นœ๊ตฌ ๊ด€๊ณ„๋Š” A์™€ B๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ์œผ๋ฉฐ, A์™€ B๊ฐ€ ์นœ๊ตฌ๋ผ๋Š” ๋œป

www.acmicpc.net

๋ฌธ์ œ๋ฅผ ๋ณด๋‹ค๊ฐ€ ์ตœ๊ทผ์— ๊ณต๋ถ€ํ•œ ํ”Œ๋กœ์ด๋“œ ์›Œ์ƒฌ๋กœ ํ’€ ์ˆ˜ ์žˆ์„ ๊ฑฐ ๊ฐ™์•„ ์‚ฌ์šฉํ–ˆ๋”๋‹ˆ ํ†ต๊ณผ๋๋‹ค.

 

ํ’€์ด ๊ณผ์ •

for _ in range(M):
    a,b = map(int,sys.stdin.readline().rstrip().split())
    graph[a][b] = 1
    graph[b][a] = 1

for i in range(1, N + 1):
    for j in range(1, N + 1):
        if i == j:
            graph[i][j] = 0

ํ”Œ๋กœ์ด๋“œ ๋ฐฉ์‹์œผ๋กœ ํ’€๋•Œ ์ƒ๊ฐํ•œ ๊ฑด ๊ทธ๋ž˜ํ”„ ์ƒ์„ฑ๊ณผ ๊ฐ€์ค‘์น˜๋‹ค.

๊ทธ๋ž˜ํ”„์˜ ๊ฐ„์„  ์–‘๋ฐฉํ–ฅ์œผ๋กœ ํ•˜๊ณ  ๊ฐ€์ค‘์น˜๋Š” 1๋กœ ์„ค์ •ํ–ˆ๋‹ค.

 

for k in range(1, N + 1):
    for i in range(1, N + 1):
        for j in range(1 , N + 1):
            graph[i][j] = min(graph[i][j],graph[i][k] + graph[k][j])

k: ์ค‘๊ฐ„ ๊ฒฝ์œ  ๋…ธ๋“œ, i: ์‹œ์ž‘ ๋…ธ๋“œ, j: ๋„์ฐฉ ๋…ธ๋“œ

ํ”Œ๋กœ์ด๋“œ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ถ€๋ถ„์ด๋‹ค. ์‹œ๊ฐ„ ๋ณต์žก๋„ O(V^3)์œผ๋กœ ์ตœ๋Œ€ 100*3 = 10^6์ด๋‹ค.

 

bacon = INF
answer = 0
for i in range(N, 0, -1):
    s = sum(graph[i][1:])
    if bacon >= s:
        bacon = s
        answer = i
print(answer)

๋ฌธ์ œ์—์„œ ๋ฒ ์ด์ปจ ์ˆ˜๊ฐ€ ๊ฐ€์žฅ ์ ์€ ์‚ฌ๋žŒ์ด๋ผ ํ–ˆ์œผ๋‹ˆ n๋ฒˆ์งธ ํ–‰์˜ ํ•ฉ์ด ์ œ์ผ ์ ์€ ์‚ฌ๋žŒ์„ ์ฐพ์œผ๋ฉด ๋œ๋‹ค.

๊ทผ๋ฐ ๋ฒ ์ด์ปจ ์ˆ˜๊ฐ€ ๊ฐ€์žฅ ์ ์€ ์‚ฌ๋žŒ์ด ์—ฌ๋Ÿฌ ๋ช…์ด๋ฉด ๋ฒˆํ˜ธ๊ฐ€ ๊ฐ€์žฅ ์ž‘์€ ์‚ฌ๋žŒ์„ ์ถœ๋ ฅํ•˜๋ผ ํ–ˆ์œผ๋ฏ€๋กœ

for๋ฌธ์„ ์—ญ์ˆœ์œผ๋กœ ์‹คํ–‰ํ•˜๋ฉด ๋œ๋‹ค.

 

 

์ „์ฒด ์ฝ”๋“œ

import sys
INF = int(1e9)
N, M = map(int,input().split())
graph =[[INF] * (N + 1)  for _ in range(N + 1)]

for _ in range(M):
    a,b = map(int,sys.stdin.readline().rstrip().split())
    graph[a][b] = 1
    graph[b][a] = 1

for i in range(1, N + 1):
    for j in range(1, N + 1):
        if i == j:
            graph[i][j] = 0

for k in range(1, N + 1):
    for i in range(1, N + 1):
        for j in range(1 , N + 1):
            graph[i][j] = min(graph[i][j],graph[i][k] + graph[k][j])

bacon = INF
answer = 0
for i in range(N, 0, -1):
    s = sum(graph[i][1:])
    if bacon >= s:
        bacon = s
        answer = i
print(answer)

 

 

 

'๐Ÿงฉ Problem Solving > [๋ฐฑ์ค€]' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[๋ฐฑ์ค€] 1107 ๋ฆฌ๋ชจ์ฝ˜ (python ํŒŒ์ด์ฌ)  (0) 2022.06.22
[๋ฐฑ์ค€] 16234 ์ธ๊ตฌ์ด๋™ (python ํŒŒ์ด์ฌ)  (0) 2022.06.21
[๋ฐฑ์ค€] 7562 ๋‚˜์ดํŠธ์˜ ์ด๋™ (python ํŒŒ์ด์ฌ)  (0) 2022.06.18
[๋ฐฑ์ค€] 11404 ํ”Œ๋กœ์ด๋“œ (python ํŒŒ์ด์ฌ)  (0) 2022.06.18
[๋ฐฑ์ค€] 17070 ํŒŒ์ดํ”„ ์˜ฎ๊ธฐ๊ธฐ 1 (python ํŒŒ์ด์ฌ)  (0) 2022.06.16
'๐Ÿงฉ Problem Solving/[๋ฐฑ์ค€]' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • [๋ฐฑ์ค€] 1107 ๋ฆฌ๋ชจ์ฝ˜ (python ํŒŒ์ด์ฌ)
  • [๋ฐฑ์ค€] 16234 ์ธ๊ตฌ์ด๋™ (python ํŒŒ์ด์ฌ)
  • [๋ฐฑ์ค€] 7562 ๋‚˜์ดํŠธ์˜ ์ด๋™ (python ํŒŒ์ด์ฌ)
  • [๋ฐฑ์ค€] 11404 ํ”Œ๋กœ์ด๋“œ (python ํŒŒ์ด์ฌ)
์ œ๋ด‰์•„
์ œ๋ด‰์•„
  • ์ œ๋ด‰์•„
    Overthinking
    ์ œ๋ด‰์•„
    fake it till you make it.
  • ์ „์ฒด
    ์˜ค๋Š˜
    ์–ด์ œ
    • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (106)
      • ๐Ÿงฉ Problem Solving (83)
        • [๋ฐฑ์ค€] (74)
        • [ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] (7)
        • [SW Expert Academy] (1)
        • [์•Œ๊ณ ๋ฆฌ์ฆ˜ for PS] (1)
      • ๐Ÿ“ฆ Data Structure (2)
      • ๐Ÿ“œ Language (14)
        • [python] (14)
      • ๐Ÿ–ค Git (1)
      • ๐ŸŒ† ์ผ์ƒ (4)
        • ๐Ÿ’ฌ ๋ฒฝ๋ณด๊ณ  ๋งํ•˜๊ธฐ (4)
      • ๐Ÿ—„๏ธ ๊ธฐํƒ€ (2)
      • ๐Ÿ”ต css (0)
  • ๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

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

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

  • ์ธ๊ธฐ ๊ธ€

  • ํƒœ๊ทธ

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

  • ์ตœ๊ทผ ๊ธ€

  • hELLOยท Designed By์ •์ƒ์šฐ.v4.10.3
์ œ๋ด‰์•„
[๋ฐฑ์ค€] 1389 ์ผ€๋นˆ ๋ฒ ์ด์ปจ์˜ 6๋‹จ๊ณ„ ๋ฒ•์น™ (python ํŒŒ์ด์ฌ)
์ƒ๋‹จ์œผ๋กœ

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