문제 링크: https://www.acmicpc.net/problem/12886
백준 알고리즘 중급 1/3 611에서 5번째 - 12886번 돌 그룹을 풀어보았다.
C++
Python
from collections import deque
def bfs():
q = deque()
q.append((A, B))
check[A][B] = True
while q:
x, y = q.popleft()
z = D-x-y
if x == y == z:
print(1)
return
for a, b in (x, y), (x, z), (y, z):
if a < b:
b -= a
a += a
elif a > b:
a -= b
b += b
else:
continue
c = D-a-b
X = min(a, b, c)
Y = max(a, b, c)
if not check[X][Y]:
q.append((X, Y))
check[X][Y] = True
print(0)
def solve():
if D % 3:
print(0)
return
else:
bfs()
A, B, C = map(int, input().split())
D = A+B+C
check = [[False]*D for _ in range(D)]
solve()
Java
'코테용 문제풀이 > 백준' 카테고리의 다른 글
벽 부수고 이동하기 4 풀이 (0) | 2023.02.28 |
---|---|
벽 부수고 이동하기 풀이 (0) | 2023.02.23 |
연구소 풀이 (0) | 2023.02.23 |
DSLR 풀이 (0) | 2023.02.22 |
데스 나이트 풀이 (0) | 2023.02.22 |