- boj 21251 ac, 다2
체스의 프리무브 시스템을 이용한 문제이다. 특이한점은 상대 킹의 위치를 안알려준다는건데, 결국 모든 가능성을 체크해가면서 체크메이트를 만들어야 한다는 뜻이다. 킹으로 움직일 수 있는 칸을 제한해 상대 킹의 움직임을 강제하는 룩 체크메이트 패턴을 응용하면 쉽게 구석으로 몰 수 있고, 스테일메이트를 조심하면서 Kiss of death 메이트로 끝내면 된다.
- boj 18939 ac, 다4
원래라면 오늘 문제 아이디어를 구상하고 1/19에 풀 문제였다. 근데 풀고나니 구현이 너무 쉬워 이게 다4가 맞나 싶다..
우선 2*k<m 이라면 모든 정사각형에 포함되는 칸이 1칸이상 존재하고, 그 칸에 놓는 즉시 선공이 승리한다.
그렇지 않다면, 겹치지 않는 정사각형이 a개가 존재한다고 하자. 당연하게도 a가 짝수면 상대턴이, 홀수면 현재턴이 승리한다.
따라서 전체 넓이 n*m에 대해 n*m-a*k^2 이 짝수면 후공이, 홀수면 선공이 승리한다. (위의 상황이 게임을 시작한 직후라고 생각하면, 상대턴은 후공이고 현재턴은 선공이 된다.)
a의 홀짝성은 결과에 영향을 미치지 않으니, 결국 n*m이 홀수인지 짝수인지에 따라 승패가 결정된다.
내가 느낀 체감 난이도는 플1 정도였지만, 수많은 유저들이 다이아로 기여했으니..