시간 제한
메모리 제한
시간 제한
2초
메모리 제한
128 MB
정사각형 감옥에서 죄수들이 문으로 탈출하려고 한다. 감옥은 N x N 칸 격자이며, 죄수는 상하좌우로만 이동할 수 있고 벽은 지나갈 수 없다.
간수 한 명은 빈 통로 칸 하나에 서서 그 칸을 지나려는 죄수를 막을 수 있다. 어두운 곳에서는 옆 칸으로 지나가는 죄수를 알아차릴 수 없으므로, 간수는 자신이 서 있는 칸만 막는다고 본다. 죄수가 있는 칸과 문 칸에는 간수를 세울 수 없다.
주어진 K명 이하의 간수로 모든 죄수가 어떤 문에도 도달하지 못하게 할 수 있는지 판단하고, 가능하다면 필요한 최소 간수 수를 구하여라.
첫 줄에 정사각형 감옥의 크기 N과 배치할 수 있는 간수의 수 K가 주어진다. 다음 N개 줄에는 감옥의 구조가 주어진다.
+: 벽.: 빈 통로X: 탈출하려는 죄수의 위치O: 밖으로 나가는 문문은 하나 이상이다.
모든 탈출 경로를 K명 이하의 간수로 막을 수 있으면 첫 줄에 Yes를 출력한다. 이어서 둘째 줄에 필요한 간수의 최소 수를 출력한다. 막을 수 없으면 첫 줄에 No만 출력한다.
N ≤ 100K ≤ 1,000