t_๋ฏธ๋๋์_259
| source | github.com/ndb796/python-for-coding-test |
| topics | |
| types | ๋ฌธ์ ํ์ด |
๐ 604 ์ต๋จ๊ฒฝ๋ก
๋ฌธ์
n์ ํ์ฌ ๋๋ก๋ฅผ ํตํด ์ฐ๊ฒฐ๋์ด ์๋ค.
1๋ฒํ์ฌ์ ์ํด ์์ผ๋ฉฐ k๋ฒ๋ฐฉ๋ฌธ > x ๋ฒ๋ฐฉ๋ฌธ
๋๋ก๋ ์ ํํ 1๋งํผ์ ์๊ฐ์ผ๋ก ์ด๋ํ ์ ์๋ค
๋ต
์ถ๋ฐ์ง๊ฐ ์ ํด์ ธ์๋ค. > ๋ค์ต์คํธ๋ผ๋ค
๋ผ๊ณ ์๊ฐํ์ง๋ง ์ค๊ฐ์ k > x ๋ก ๊ฐ๋ ์ผ์ด์์ผ๋๊น ํผ์ด์ฟ๋ค ํ๋ก์ด๋ ์์
์ด์๋ค.
# 1๋ฒํ์ฌ์ ์ํด ์์ผ๋ฉฐ k๋ฒ๋ฐฉ๋ฌธ > x ๋ฒ๋ฐฉ๋ฌธ
input = input.strip().split('\n')
x , k = map(int, input.pop().split())
n , m = map(int, input[0].split())
inf = int(1e9)
graph = [[inf]*(n+1) for _ in range(n+1)]
for i in range(1, len(input)):
a,b = map(int,input[i].split())
graph[a][b] = 1
graph[b][a] = 1
for a in range(1,n+1):
for b in range(1,n+1):
for k in range(1,n+1):
if a <mark> b or b </mark> k or a ==k:
graph[b][b] = 0
continue
tmp = min(graph[a][b],graph[a][k]+graph[k][b])
graph[a][b] = tmp
graph[b][a] = tmp
sum = graph[1][k] + graph[k][x]
print(sum if sum < inf else -1)