alpyrithm_알파이리즘
[알고리즘][Python] 백준(BOJ) 1013 Contact_파이썬 본문
1013 Contact www.acmicpc.net/problem/1013
문제 풀기 전 공부할 것 : 구현
풀이
<내용>
- 구체적인 단계 풀이 내용이 필요하신 분이 계시다면 댓글 남겨주세요.
<코드>
def solve(idx, node , wave):
if node == -1:
print('NO')
return
if idx == len(wave) and (node == 5 or node == 6 or node == 7):
print('YES')
return
if idx == len(wave):
print('NO')
return
if node == 0:
if wave[idx] == '0':
solve(idx+1, 1, wave)
else:
solve(idx+1, 2, wave)
elif node == 1:
if wave[idx] == '0':
solve(idx+1, -1, wave)
else:
solve(idx+1, 5, wave)
elif node == 2:
if wave[idx] == '0':
solve(idx+1, 3, wave)
else:
solve(idx+1, -1, wave)
elif node == 3:
if wave[idx] == '0':
solve(idx+1, 4, wave)
else:
solve(idx+1, -1, wave)
elif node == 4:
if wave[idx] == '0':
solve(idx+1, 4, wave)
else:
solve(idx+1, 6, wave)
elif node == 5:
if wave[idx] == '0':
solve(idx+1, 1, wave)
else:
solve(idx+1, 2, wave)
elif node == 6:
if wave[idx] == '0':
solve(idx+1, 1, wave)
else:
solve(idx+1, 7, wave)
elif node == 7:
if wave[idx] == '0':
solve(idx+1, 8, wave)
else:
solve(idx+1, 7, wave)
elif node == 8:
if wave[idx] == '0':
solve(idx+1, 4, wave)
else:
solve(idx+1, 0, wave)
import sys
input = sys.stdin.readline
t = int(input())
for _ in range(t):
solve(0, 0, input().rstrip())
728x90
반응형
'Algorithm > 백준 알고리즘_Python' 카테고리의 다른 글
[알고리즘][Python] 백준(BOJ) 10448 유레카 이론_파이썬 (0) | 2021.04.01 |
---|---|
[알고리즘][Python] 백준(BOJ) 10164 격자상의 경로_파이썬 (0) | 2021.03.31 |
[알고리즘][Python] 백준(BOJ) 1010 다리 놓기_파이썬 (0) | 2021.03.20 |
[알고리즘][Python] 백준(BOJ) 10844 쉬운 계단 수_파이썬 (0) | 2021.01.13 |
[알고리즘][Python] 백준(BOJ) 9095 1, 2, 3 더하기_파이썬 (0) | 2021.01.07 |
Comments