[baekjoon]python #1697 ์จ๋ฐ๊ผญ์ง
https://www.acmicpc.net/problem/1697
import sys
from collections import deque
input = sys.stdin.readline
subin,sis = map(int,input().split())
queue = deque()
queue.append((subin,0))
#๋ฉ๋ชจ๋ฆฌ ์ด๊ณผ ๋ฐฉ์ง
visit = [0] * 100001
while queue:
now_subin,sec = queue.popleft()
visit[now_subin] = 1
if now_subin == sis:
print(sec)
break
direct = [-1,1,2]
for i in range(3):
if direct[i] == 2:
direct_subin = now_subin * direct[i]
else:
direct_subin = now_subin + direct[i]
if 0<=direct_subin<=100000:
if visit[direct_subin] == 0:
queue.append((direct_subin,sec+1))
์ฒ์์๋ ๋ฒ์๋ฅผ ์ง์ ํด์ฃผ์ง ์์์ ๋ฉ๋ชจ๋ฆฌ ์ด๊ณผ๊ฐ ๋ฌ๋ค.
๊ทธ๋์ ๋ฒ์๋ฅผ ์ง์ ํ์ง๋ง ์ญ์๋ ๋ฉ๋ชจ๋ฆฌ ์ด๊ณผ๊ฐ ๋ฌ๊ณ , visit๋ฐฐ์ด์ ํตํด ์ค๋ณต๋๋ ๊ฐ๋ค์ ์ ๊ฑฐํด ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๊ด๋ฆฌํ์๋ค.
'Problem Solving > BAEKJOON' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[baekjoon]python #14425 ๋ฌธ์์ด ์งํฉ (0) | 2023.07.16 |
---|---|
[baekjoon]python #5014 ์คํํธ ๋งํฌ (0) | 2023.01.26 |
[baekjoon]python #2178 ๋ฏธ๋กํ์ (0) | 2023.01.25 |
[baekjoon]python #2667 ๋จ์ง๋ฒํธ๋ถ์ด๊ธฐ (0) | 2023.01.25 |
[baekjoon]python #5635 ์์ผ (0) | 2023.01.20 |
๋๊ธ