320x100
문제 : https://algospot.com/judge/problem/read/BOARDCOVER
x 위치를 탐색할 때 x를 채울 수 있는 L 블럭 모양은 위와 같다.
블럭은 (0,0) 인덱스부터 탐색하며 열우선탐색으로 탐색해나간다.
따라서 x 위치를 탐색할 때는 이전 행들과 이전 열은 모두 블럭이 채워져있음을 보장해야 한다.
즉, 열우선탐색을 하면서 아직 채워져 있지 않은 곳을 찾은 다음 위 4가지 중에 한 가지 이상 방법으로 채울 수 있으면 그 방법으로 채우고 다시 처음부터 열우선 탐색으로 빈 곳을 찾고를 반복한다.
만약 4가지 중 어느 방법으로도 L 블록을 채울 수 없다면 현재 빈 곳을 채울 수 없다는 뜻이므로 탐색을 중단한다.
만약 모든 블록이 채워져있다면 정답 +1을 한다.
소스코드 : https://gist.github.com/fpdjsns/7b5a63f4e0ae9fa28b06ce4c7628f5e6
320x100
'알고리즘 문제 > Algospot' 카테고리의 다른 글
[algospot][JLIS] 합친 LIS (0) | 2019.06.07 |
---|---|
[algospot][WILDCARD] Wildcard (0) | 2019.06.03 |
[algospot][CLOCKSYNC] Synchronizing Clocks (0) | 2019.05.31 |
[algospot][PICNIC] 소풍 (0) | 2019.05.28 |
[algospot][QUADTREE] 쿼드 트리 뒤집기 (0) | 2019.05.24 |
댓글