[Python] ๋ฐฑ์ค€ 1613 - ์—ญ์‚ฌ

2023. 2. 5. 15:54ยทAlgorithm/Python

๋ฌธ์ œ

 

์—ญ์‚ฌ, ๊ทธ ์ค‘์—์„œ๋„ ํ•œ๊ตญ์‚ฌ์— ํ•ด๋ฐ•ํ•œ ์„ธ์ค€์ด๋Š” ๋งŽ์€ ์—ญ์‚ฌ์  ์‚ฌ๊ฑด๋“ค์˜ ์ „ํ›„ ๊ด€๊ณ„๋ฅผ ์ž˜ ์•Œ๊ณ  ์žˆ๋‹ค. ์ฆ‰, ์ž„์ง„์™œ๋ž€์ด ๋ณ‘์žํ˜ธ๋ž€๋ณด๋‹ค ๋จผ์ € ์ผ์–ด๋‚ฌ์œผ๋ฉฐ, ๋ฌด์˜ค์‚ฌํ™”๊ฐ€ ๊ธฐ๋ฌ˜์‚ฌํ™”๋ณด๋‹ค ๋จผ์ € ์ผ์–ด๋‚ฌ๋‹ค๋Š” ๋“ฑ์˜ ์ง€์‹์„ ์•Œ๊ณ  ์žˆ๋Š” ๊ฒƒ์ด๋‹ค.

์„ธ์ค€์ด๊ฐ€ ์•Œ๊ณ  ์žˆ๋Š” ์ผ๋ถ€ ์‚ฌ๊ฑด๋“ค์˜ ์ „ํ›„ ๊ด€๊ณ„๋“ค์ด ์ฃผ์–ด์งˆ ๋•Œ, ์ฃผ์–ด์ง„ ์‚ฌ๊ฑด๋“ค์˜ ์ „ํ›„ ๊ด€๊ณ„๋„ ์•Œ ์ˆ˜ ์žˆ์„๊นŒ? ์ด๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•ด ๋ณด๋„๋ก ํ•˜์ž.

 

์ž…๋ ฅ

 

์ฒซ์งธ ์ค„์— ์ฒซ ์ค„์— ์‚ฌ๊ฑด์˜ ๊ฐœ์ˆ˜ n(400 ์ดํ•˜์˜ ์ž์—ฐ์ˆ˜)๊ณผ ์•Œ๊ณ  ์žˆ๋Š” ์‚ฌ๊ฑด์˜ ์ „ํ›„ ๊ด€๊ณ„์˜ ๊ฐœ์ˆ˜ k(50,000 ์ดํ•˜์˜ ์ž์—ฐ์ˆ˜)๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ๋‹ค์Œ k์ค„์—๋Š” ์ „ํ›„ ๊ด€๊ณ„๋ฅผ ์•Œ๊ณ  ์žˆ๋Š” ๋‘ ์‚ฌ๊ฑด์˜ ๋ฒˆํ˜ธ๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ์ด๋Š” ์•ž์— ์žˆ๋Š” ๋ฒˆํ˜ธ์˜ ์‚ฌ๊ฑด์ด ๋’ค์— ์žˆ๋Š” ๋ฒˆํ˜ธ์˜ ์‚ฌ๊ฑด๋ณด๋‹ค ๋จผ์ € ์ผ์–ด๋‚ฌ์Œ์„ ์˜๋ฏธํ•œ๋‹ค. ๋ฌผ๋ก  ์‚ฌ๊ฑด์˜ ์ „ํ›„ ๊ด€๊ณ„๊ฐ€ ๋ชจ์ˆœ์ธ ๊ฒฝ์šฐ๋Š” ์—†๋‹ค. ๋‹ค์Œ์—๋Š” ์‚ฌ๊ฑด์˜ ์ „ํ›„ ๊ด€๊ณ„๋ฅผ ์•Œ๊ณ  ์‹ถ์€ ์‚ฌ๊ฑด ์Œ์˜ ์ˆ˜ s(50,000 ์ดํ•˜์˜ ์ž์—ฐ์ˆ˜)์ด ์ฃผ์–ด์ง„๋‹ค. ๋‹ค์Œ s์ค„์—๋Š” ๊ฐ๊ฐ ์„œ๋กœ ๋‹ค๋ฅธ ๋‘ ์‚ฌ๊ฑด์˜ ๋ฒˆํ˜ธ๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ์‚ฌ๊ฑด์˜ ๋ฒˆํ˜ธ๋Š” 1๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜ ๊ฐ™๊ณ , N๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ์ž์—ฐ์ˆ˜์ด๋‹ค.

 

์ถœ๋ ฅ

s์ค„์— ๊ฑธ์ณ ๋ฌผ์Œ์— ๋‹ตํ•œ๋‹ค. ๊ฐ ์ค„์— ๋งŒ์ผ ์•ž์— ์žˆ๋Š” ๋ฒˆํ˜ธ์˜ ์‚ฌ๊ฑด์ด ๋จผ์ € ์ผ์–ด๋‚ฌ์œผ๋ฉด -1, ๋’ค์— ์žˆ๋Š” ๋ฒˆํ˜ธ์˜ ์‚ฌ๊ฑด์ด ๋จผ์ € ์ผ์–ด๋‚ฌ์œผ๋ฉด 1, ์–ด๋–ค์ง€ ๋ชจ๋ฅด๋ฉด(์œ ์ถ”ํ•  ์ˆ˜ ์—†์œผ๋ฉด) 0์„ ์ถœ๋ ฅํ•œ๋‹ค.


์ •๋‹ต

import sys

INF = int(1e9)
input = sys.stdin.readline

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

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

for k in range(1, n+1):
    for a in range(1, n+1):
        for b in range(1, n+1):
            graph[a][b] = min(graph[a][b], graph[a][k] + graph[k][b])

s = int(input())
for _ in range(s):
    a, b = map(int, input().split())
    if graph[a][b] == INF and graph[b][a] == INF:
        print(0)
    elif graph[a][b] != INF and graph[b][a] == INF:
        print(-1)
    elif graph[a][b] == INF and graph[b][a] != INF:
        print(1)
  • graph[a][b], graph[b][a] ๋‘˜๋‹ค INF์ด๋ฉด ์ˆœ์„œ๋ฅผ ์•Œ์ˆ˜์—†์Œ์œผ๋กœ 0
  • ์ •๋ฐฉํ–ฅ(graph[a][b])์ด INF๊ฐ€ ์•„๋‹ˆ๊ณ  ์—ญ๋ฐฉํ–ฅ(graph[b][a])์ด INF๋ผ๋ฉด -1
  • ์ •๋ฐฉํ–ฅ์ด INF์ด๊ณ  ์—ญ๋ฐฉํ–ฅ์ด INF๋ผ๋ฉด 1

 

 

 

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

[Python] ๋ฐฑ์ค€ 6118 - ์ˆจ๋ฐ”๊ผญ์งˆ  (0) 2023.02.03
[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] ๋ฐฑ์ค€ 6118 - ์ˆจ๋ฐ”๊ผญ์งˆ
  • [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
  • ๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

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

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

  • ์ธ๊ธฐ ๊ธ€

  • ํƒœ๊ทธ

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

  • ์ตœ๊ทผ ๊ธ€

  • hELLOยท Designed By์ •์ƒ์šฐ.v4.10.2
๐ŸฅญMango
[Python] ๋ฐฑ์ค€ 1613 - ์—ญ์‚ฌ
์ƒ๋‹จ์œผ๋กœ

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