시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
---|---|---|---|---|---|
0.5 초 | 512 MB | 63 | 21 | 18 | 36.735% |
각각 칸이 'A', 'X', 'O' 셋 중 하나로 주어진 $N \times M$ 보드가 주어진다. 플레이어는 'A'로 주어진 칸 중 하나에서 시작할 수 있으며, 처음 $1 \times 1$ 크기의 말로 시작해 매 턴 다음 행동들을 순서대로 수행한다. 매 턴 두 행동을 모두 주어진 순서대로 수행해야 한다.
예를 들어 가로 길이가 4, 세로 길이가 4인 말을 위쪽으로 길이 1만큼 늘리면 아래 그림과 같이 변한다.
행동을 수행하면서 플레이어의 말이 보드 밖이나 `X'를 포함하게 된다면 수행하지 못하고 종료한다.
플레이어가 원하는 'A'에서 시작하여 자유롭게 행동하여 0번 이상의 턴을 마친 뒤 플레이어의 말이 도달하거나 포함할 수 있는 모든 칸을 'Y'로, 이외 모든 칸을 'N'으로 표시하여 출력하여라. 만약 행동 1을 수행한 뒤 행동 2에서 'X'를 만난다면 행동 1에서 말이 포함한 칸은 도달하거나 포함한 것으로 취급하지 않는다.
첫째 줄에 $N, M \, (1 \leq N, M \leq 50)$ 이 주어진다.
이후 $N$개의 줄에 걸쳐 $M$칸의 정보가 'A', 'X', 'O' 셋 중 하나로 주어진다. 출발 지점 'A'는 적어도 하나 주어진다.
$N$줄에 걸쳐 각각 $M$칸을 플레이어가 도달하거나 포함할 수 있다면 'Y', 없다면 'N'으로 바꿔 출력한다.
8 8 OOOAOOXO OOXOOOXA OOXOOOXX XXXOXXXO OOXOOOXO OOXOOOXO OOOOOOXA OOOAOOXO
YYYYYYNN NNNYYYNY NNNYYYNN NNNYNNNY YYNYYYNY YYNYYYNY YYYYYYNY YYYYYYNY
University > POSTECH > 2021 POSTECH Programming Contest I번