-
[백준 문제풀이] 얼렁뚱땅 2251 물통 풀이얼렁뚱땅 백준 문제풀이 2022. 9. 19. 19:44
https://www.acmicpc.net/problem/2251
2251번: 물통
각각 부피가 A, B, C(1≤A, B, C≤200) 리터인 세 개의 물통이 있다. 처음에는 앞의 두 물통은 비어 있고, 세 번째 물통은 가득(C 리터) 차 있다. 이제 어떤 물통에 들어있는 물을 다른 물통으로 쏟아 부
www.acmicpc.net
a, b, c = map(int,input().split()) answer = set() visited = [] def dfs(na,nb,nc) : global answer if [na,nb,nc] in visited: return else : visited.append([na,nb,nc]) if na == 0 : answer.add(nc) if nb+na > b : temp = (nb+na)-b dfs(temp,b,nc) else : dfs(0,na+nb,nc) if nc+na < c : dfs(0, nb, nc+na) else : temp = (nc+na)-c dfs(temp,nb,c) if nb + na > a : temp = (nb+na)-a dfs(a,temp,nc) else : dfs(na+nb,0,nc) if nc + nb < c : dfs(na,0,nc+nb) else : temp = nc+nb-c dfs(na,temp,c) if nc + nb < b : dfs(na,nc+nb,0) else : temp = nc+nb-b dfs(na,b,temp) if nc + na < a : dfs(na+nc,nb,0) else : temp = nc + na - a dfs(a,nb,temp) if a >= c : dfs(c,0,0) else : temp = c-a dfs(a,0,temp) if b >= c : dfs(0,c,0) else : temp = c-b dfs(0,b,temp) an = list(answer) an.sort() print(*an)
'얼렁뚱땅 백준 문제풀이' 카테고리의 다른 글
[백준 문제풀이] 얼렁뚱땅 2589 보물섬 풀이 (0) 2022.09.20 [백준 문제풀이] 얼렁뚱땅 1138 한 줄로 서기 풀이 (0) 2022.09.20 [백준 문제풀이] 얼렁뚱땅 14620 꽃길 풀이 (0) 2022.09.17 [백준 문제풀이] 얼렁뚱땅 14503 로봇청소기 풀이 (0) 2022.09.17 [백준 문제풀이] 얼렁뚱땅 5014 스타트링크 풀이 (0) 2022.09.16