원리는 알겠는데 구현이 어렵다.
가 - a, b, c 나 - a 다 - b로만 매칭이 된다면, '가'는 먼저 a를 고르고, '나'는 a를 고른 '가'가 다른 것을 고를 수 있다면 고르게 만들고 a를 점유한다. '다'도 마찬가지. 이걸 dfs로 구현하면 될 것 같은데 잘 안된다.
이곳을 참고했다. visited 목록을 만들어서 이미 방문했던 노드에 다시 방문하지 않는 것이 훨씬 효율적이다.
나중에 다시 풀어봐야함.
void fill (ForwardIterator first, ForwardIterator last, const T& val);
val로 가득 채워준다.
이거 순서대로 ps 문제풀기