2024. 6. 6. 06:19ㆍ코딩 도구/백준
백준 2251 - 물통
문제
https://www.acmicpc.net/problem/2251
2251번: 물통
각각 부피가 A, B, C(1≤A, B, C≤200) 리터인 세 개의 물통이 있다. 처음에는 앞의 두 물통은 비어 있고, 세 번째 물통은 가득(C 리터) 차 있다. 이제 어떤 물통에 들어있는 물을 다른 물통으로 쏟아 부
www.acmicpc.net
답안 코드 :
생각 :
# 문제 분석
# 지금까지 그래프 데이터를 저장하고 저장한 자료구조를 이용
# 이 문제는 그래프 원리로 그래프를 역으로 그리는 방식으로 접근해서 풀어야 할 듯
# A B C 특정 무게 상태를 1개의 노드로 가정, 무게 상태가 에지로 이어진 인접노드라 생각
# 문제 풀기
# 처음 출발노드를 (0, 0, 3번째 물통 용랼)
# BFS탐색
# BFS 과정
# 1 노드에서 갈 수 있는 6개의 경우(A- B,A- C, B- A,B-C,C- A, C- B)에 관해 다음 노드로 정해 큐에 추가한다.
# A, B, C 무게가 동일한 노드에 방문한 이력이 있을 때는 큐에 추가하지 않는다.
# 2 보내는 물통의 모든 용량을 받는 물통에 저장하고, 보내는 물통에는 0을 저장한다.
# 단, 받는 물통이 넘칠 때 는 초과하는 값만큼 보내는 물통에 남긴다.
# 3 큐에 추가하는 시점에 1번째 물통(A)의 무게가 0일 때가 있으면
# 3번째 물통(C)의 값을 정답 리스트에 추가한다.
그래프 표현 참고자료 블로그
그래프의 표현 (알고리즘, 자료구조)
그래프에 대해서 그래프는 노드와 에지로 구성된 집합이다. 노드는 데이터를 표현하는 단위이고 에지는 그 노드들을 연결한다. 그래프는 여러 알고리즘에 많이 사용되는 자료구조이므로 코딩
mkisos.tistory.com
'코딩 도구 > 백준' 카테고리의 다른 글
백준 6593 c++ 상범빌딩 (정육면체) (0) | 2025.02.11 |
---|---|
백준 1707 파이썬 모든 노드로 각각 DFS탐색 (3) | 2024.06.05 |
백준 18352 파이썬 BFS탐색 알고리즘 (2) | 2024.06.04 |
백준 1033 파이썬 DFS와 최대공약수 (3) | 2024.06.03 |
백준 1850 파이썬 최대 공약수를 유클리드 호제법 (17) | 2024.06.02 |