BOJ 20689 - Forbidden Card
최대 번의 턴이 진행된다.
forbidden card 가 없다고 가정하고 시행했을 때, 지는 사람을 기록한다. 이를 이라 하자.
이전 과정에서 의 카드가 언제 처음으로 사용되는지 중에 하나로 기록한다.
으로 순회하며 가 한 번도 안쓰였다면 이 진다.
그렇지 않다면 재귀적인 호출을 이용한다.
번째 턴에 가 사용 불가능이 되었을 때 지는 사람이라고 하자.
가 번 째 턴에 사용되었다면 그걸 사용한 사람은 이다.
가 카드를 번 째 카드로 사용했다면 이 카드가 사용 불가능이 되면 가 지게된다.
가 이 카드를 번째로 사용했다면, 이 카드가 사용 불가능이 되면
- 의 두 번째 카드가 아직 사용 안되었다면 이 진다.
- 의 두 번째 카드가 사용되었고 보다 이른 순서에 사용되었다면 가 진다.
- 의 두 번째 카드가 사용되었고, 보다 뒤의 순서라면 가 진다.
재귀적으로 호출해주는 과정을 보면 싸이클이 없는 유향그래프란것을 알 수 있고 따라서 개의 DP를 처리하면 에 문제를 해결할 수 있다.
Comments