top of page

소스 코드 제출

공개·회원 69명

손유준손유준

from collections import deque

import sys


input = sys.stdin.readline

N, M, Q = map(int, input().split())

path = {}

isolated = False



def print(x):

sys.stdout.write(f'{x}\n')



for _ in range(M):

a, b = map(int, input().split())

try:

path[a].append(b)

except KeyError:

path[a] = [b]


try:

path[b].append(a)

except KeyError:

path[b] = [a]


if len(path) != N:

isolated = True



def find(start, end):

if start == end:

print(0)

return

try:

if end in path[start]:

print(1)

return

except KeyError:

pass

if isolated:

try:

print(2 if len(path[start]) != 0 else '어차피 여기 안옴')

return

except KeyError:

print(1)

else:

q = deque([(start, 0)])

visited = set()

visited.add(start)

while q:

x, t = q.popleft()

way = path[x]

for k in way:

if k not in visited:

visited.add(k)

if k == end:

print(t + 1)

return

q.append((k, t + 1))



for _ in range(Q):

a, b = map(int, input().split())

find(a, b)

21회 조회
주소 : 경기도 용인시 광교중앙로 302 블루 스퀘어 602호
연락처 : 031) 216 - 1546 ,     031) 215 - 1546
사업자등록번호 : 465-92-00916
​학원 등록 제 4603호
bottom of page