본문 바로가기
온라인저지

[BOJ] 14867번: 물통

by plzfday 2018. 4. 9.

14867번: 물통

다른 친구가 우선 순위 큐를 이용해서 풀었다고 하고, 인터넷에 풀이 올리신 걸 보니 BFS or DFS로 푸시는 걸 보고 감이 안 잡혔다. ㅠㅠ

아무튼 나는 1. A에서만 물통을 채워서 B에게 넘겨주는 작업, 2. B에서만 물통을 채워서 A에게 넘겨주는 작업. 이 둘 중에서 최소 작업 횟수를 출력하게 만들었다. 사실 코드가 굉장히 미개하다. 왜냐하면 중복이 너무 많기 때문이다...

 코드를 짤 때 생각해야 할 점이 -1을 출력할 때인데 bucketA == a && bucketB == b일 때가 못 만들 때이다. 왜냐하면 이 때는 어짜피 bucketA, bucketB를 비워줘야 하는데 이렇게 되면 처음 시작할 때와 똑같은 상황이기 때문이다.

또한 a == c && b == d일때는 2를 출력해 줘야하고, c == 0 && d == 0일 때는 처음 작업과 같으므로 0을 출력해 줘야한다.(예외처리를 해줘야 한다는 말.)


'온라인저지' 카테고리의 다른 글

[BOJ] 1991번: 트리 순회  (0) 2018.05.11
[BOJ] 1009번: 분산처리  (0) 2018.05.05
[BOJ] 4673번: 셀프 넘버  (0) 2018.04.24
[BOJ] 14697번: 방 배정하기  (0) 2018.04.09
[BOJ] 14696번: 딱지놀이  (0) 2018.04.09
[BOJ] 13241번: 최소공배수  (0) 2018.04.01

댓글