백준 14867 물통
출처: https://www.acmicpc.net/problem/14867 A 물통과 B 물통에 든 물의 양에 대한 2차원 배열을 만들어서 visit check하며 bfs로 풀면 되지만 그럼 10만x10만이 된다. 그런데 점화식을 써보면, 두 물통에 담긴 물의 양 중 하나는 반드시 0이나 full이라는 사실을 알 수 있다. (a,b) -> (full,b) (a,full) (0,b) (a,0) / (a+b,0) or (full,나머지) / (0,a+b) or (나머지, full) 그래서 2차원 배열의 테두리만 필요하므로 공간복잡도는 문제없다. #include #include #include using namespace std; typedef struct a { int p; int q; int ct; } t..
2019. 2. 11.