[Python] ๋ฐฑ์ค€ 6118 - ์ˆจ๋ฐ”๊ผญ์งˆ

2023. 2. 3. 16:19ยทAlgorithm/Python

๋ฌธ์ œ 

์žฌ์„œ๊ธฐ๋Š” ์ˆ˜ํ˜€๋‹ˆ์™€ ๊ต์™ธ ๋†์žฅ์—์„œ ์ˆจ๋ฐ”๊ผญ์งˆ์„ ํ•˜๊ณ  ์žˆ๋‹ค. ๋†์žฅ์—๋Š” ํ—›๊ฐ„์ด ๋งŽ์ด ๋„๋ ค์žˆ๊ณ  ์žฌ์„œ๊ธฐ๋Š” ๊ทธ ์ค‘์— ํ•˜๋‚˜์— ์ˆจ์–ด์•ผ ํ•œ๋‹ค. ํ—›๊ฐ„์˜ ๊ฐœ์ˆ˜๋Š” N(2 <= N <= 20,000)๊ฐœ์ด๋ฉฐ, 1 ๋ถ€ํ„ฐ ์ƒŒ๋‹ค๊ณ  ํ•˜์ž.

์žฌ์„œ๊ธฐ๋Š” ์ˆ˜ํ˜€๋‹ˆ๊ฐ€ 1๋ฒˆ ํ—›๊ฐ„๋ถ€ํ„ฐ ์ฐพ์„ ๊ฒƒ์„ ์•Œ๊ณ  ์žˆ๋‹ค. ๋ชจ๋“  ํ—›๊ฐ„์€ M(1<= M <= 50,000)๊ฐœ์˜ ์–‘๋ฐฉํ–ฅ ๊ธธ๋กœ ์ด์–ด์ ธ ์žˆ๊ณ , ๊ทธ ์–‘ ๋์„ A_i ์™€ B_i(1<= A_i <= N; 1 <= B_i <= N; A_i != B_i)๋กœ ๋‚˜ํƒ€๋‚ธ๋‹ค. ๋˜ํ•œ ์–ด๋–ค ํ—›๊ฐ„์—์„œ ๋‹ค๋ฅธ ํ—›๊ฐ„์œผ๋กœ๋Š” ์–ธ์ œ๋‚˜ ๋„๋‹ฌ ๊ฐ€๋Šฅํ•˜๋‹ค๊ณ  ์ƒ๊ฐํ•ด๋„ ์ข‹๋‹ค. 

์žฌ์„œ๊ธฐ๋Š” ๋ฐœ๋ƒ„์ƒˆ๊ฐ€ ์ง€๋…ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ตœ๋Œ€ํ•œ ๋ƒ„์ƒˆ๊ฐ€ ์•ˆ๋‚˜๊ฒŒ ์ˆจ์„ ์žฅ์†Œ๋ฅผ ์ฐพ๊ณ ์ž ํ•œ๋‹ค. ๋ƒ„์ƒˆ๋Š” 1๋ฒˆ ํ—›๊ฐ„์—์„œ์˜ ๊ฑฐ๋ฆฌ(์—ฌ๊ธฐ์„œ ๊ฑฐ๋ฆฌ๋ผ ํ•จ์€ ์ง€๋‚˜์•ผ ํ•˜๋Š” ๊ธธ์˜ ์ตœ์†Œ ๊ฐœ์ˆ˜์ด๋‹ค)๊ฐ€ ๋ฉ€์–ด์งˆ์ˆ˜๋ก ๊ฐ์†Œํ•œ๋‹ค๊ณ  ํ•œ๋‹ค. ์žฌ์„œ๊ธฐ์˜ ๋ฐœ๋ƒ„์ƒˆ๋ฅผ ์ตœ๋Œ€ํ•œ ์ˆจ๊ธธ ์ˆ˜ ์žˆ๋Š” ํ—›๊ฐ„์„ ์ฐพ์„ ์ˆ˜ ์žˆ๊ฒŒ ๋„์™€์ฃผ์ž!

 

์ž…๋ ฅ

 

์ฒซ ๋ฒˆ์งธ ์ค„์—๋Š” N๊ณผ M์ด ๊ณต๋ฐฑ์„ ์‚ฌ์ด์— ๋‘๊ณ  ์ฃผ์–ด์ง„๋‹ค.

์ดํ›„ M์ค„์— ๊ฑธ์ณ์„œ A_i์™€ B_i๊ฐ€ ๊ณต๋ฐฑ์„ ์‚ฌ์ด์— ๋‘๊ณ  ์ฃผ์–ด์ง„๋‹ค.

 

์ถœ๋ ฅ

์ถœ๋ ฅ์€ ํ•œ์ค„๋กœ ์ด๋ฃจ์–ด์ง€๋ฉฐ, ์„ธ ๊ฐœ์˜ ๊ฐ’์„ ๊ณต๋ฐฑ์œผ๋กœ ๊ตฌ๋ถ„์ง€์–ด ์ถœ๋ ฅํ•ด์•ผํ•œ๋‹ค.

์ฒซ ๋ฒˆ์งธ๋Š” ์ˆจ์–ด์•ผ ํ•˜๋Š” ํ—›๊ฐ„ ๋ฒˆํ˜ธ๋ฅผ(๋งŒ์•ฝ ๊ฑฐ๋ฆฌ๊ฐ€ ๊ฐ™์€ ํ—›๊ฐ„์ด ์—ฌ๋Ÿฌ๊ฐœ๋ฉด ๊ฐ€์žฅ ์ž‘์€ ํ—›๊ฐ„ ๋ฒˆํ˜ธ๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค), ๋‘ ๋ฒˆ์งธ๋Š” ๊ทธ ํ—›๊ฐ„๊นŒ์ง€์˜ ๊ฑฐ๋ฆฌ๋ฅผ, ์„ธ ๋ฒˆ์งธ๋Š” ๊ทธ ํ—›๊ฐ„๊ณผ ๊ฐ™์€ ๊ฑฐ๋ฆฌ๋ฅผ ๊ฐ–๋Š” ํ—›๊ฐ„์˜ ๊ฐœ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•ด์•ผํ•œ๋‹ค.


์ •๋‹ต

import heapq
import sys
input = sys.stdin.readline
INF = 1e9

n, m = map(int, input().split())
graph = [[] for _ in range(n+1)]
distance = [INF] * (n+1)

for _ in range(m):
    a, b = map(int, input().split())
    graph[a].append((b, 1))
    graph[b].append((a, 1))

def dijkstra(start):
    q = []
    heapq.heappush(q, (0, start))
    distance[start] = 0

    while q:
        dist, now = heapq.heappop(q)
        if distance[now] < dist:
            continue
        for i in graph[now]:
            cost = dist + i[1]
            if cost < distance[i[0]]:
                distance[i[0]] = cost
                heapq.heappush(q, (cost, i[0]))

dijkstra(1)

max_node = 0
max_dist = 0
res = 0

for i in range(1, n+1):
    if max_dist < distance[i]:
        max_dist = distance[i]
        max_node = i

res = distance.count(max_dist)
print(max_node, max_dist, res

๋‹ค์ต์ŠคํŠธ๋ผ ์ด์šฉํ•ด์„œ ํ’ˆ

'Algorithm > Python' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[Python] ๋ฐฑ์ค€ 1613 - ์—ญ์‚ฌ  (1) 2023.02.05
[Python] ๊ทธ๋ž˜ํ”„ ์•Œ๊ณ ๋ฆฌ์ฆ˜ - ์นœ๊ตฌ์˜ ์นœ๊ตฌ์ฐพ๊ธฐ  (1) 2020.09.07
[Python] ํ์™€ ์Šคํƒ(queue, stack)  (0) 2020.08.31
[Python] ์ด๋ถ„ ํƒ์ƒ‰  (0) 2020.08.26
[Python] ํ€ต ์ •๋ ฌ  (0) 2020.08.25
'Algorithm/Python' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • [Python] ๋ฐฑ์ค€ 1613 - ์—ญ์‚ฌ
  • [Python] ๊ทธ๋ž˜ํ”„ ์•Œ๊ณ ๋ฆฌ์ฆ˜ - ์นœ๊ตฌ์˜ ์นœ๊ตฌ์ฐพ๊ธฐ
  • [Python] ํ์™€ ์Šคํƒ(queue, stack)
  • [Python] ์ด๋ถ„ ํƒ์ƒ‰
๐ŸฅญMango
๐ŸฅญMango
  • ๐ŸฅญMango
    AppleMango๐Ÿฅญ
    ๐ŸฅญMango
  • ์ „์ฒด
    ์˜ค๋Š˜
    ์–ด์ œ
    • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ
      • iOS
        • Swift
        • SwiftUI
        • RxSwift
      • Algorithm
        • C
        • Python
        • Swift
      • Computer Science
        • ์ปดํ“จํ„ฐ ๋„คํŠธ์›Œํฌ
        • OS
      • ...
      • ๊ฐœ๋ฐœ ํƒ€์ž„์บก์А
        • Python
        • Flutter
        • Android
        • Kotlin
        • Java
  • ๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

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

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

  • ์ธ๊ธฐ ๊ธ€

  • ํƒœ๊ทธ

    swiftUI tabview
    SwiftUI
    Apple Login
    ์ฝ”ํ‹€๋ฆฐ
    Swift Hello World!
    ํŒŒ์ด์ฌ ํ† ๋งˆํ† 
    IOS
    ์—ญ์‚ฌ ํŒŒ์ด์ฌ
    swiftUI Gradients
    ํŒŒ์ด์ฌ 14503
    MapMarker
    Code Base
    ์Šคํƒ
    ํŒŒ์ด์ฌ ์ •๋ ฌ
    Custom Map Marker
    ์ฝ”ํ‹€๋ฆฐ ์ƒ์†
    ๋ฐฑ์ค€ ์†Œ์ˆ˜
    ํ† ๋งˆํ† 
    ํŒŒ์ด์ฌ 1459
    6118
    SwiftUI Apple Login
    typing animation
    14503 ํŒŒ์ด์ฌ
    ๋ฐฑ์ค€ ํ† ๋งˆํ† 
    1์ฐจ์› ๋ฟŒ์š”๋ฟŒ์š”
    1613 ์—ญ์‚ฌ
    ํŒŒ์ด์ฌ
    14503 ๋กœ๋ด‡์ฒญ์†Œ๊ธฐ
    ํŒŒ์ด์ฌ 6118
    1613 ํŒŒ์ด์ฌ
  • ์ตœ๊ทผ ๋Œ“๊ธ€

  • ์ตœ๊ทผ ๊ธ€

  • hELLOยท Designed By์ •์ƒ์šฐ.v4.10.2
๐ŸฅญMango
[Python] ๋ฐฑ์ค€ 6118 - ์ˆจ๋ฐ”๊ผญ์งˆ
์ƒ๋‹จ์œผ๋กœ

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