티스토리 뷰

문제 링크

https://www.algospot.com/judge/problem/read/BOARDCOVER

 

algospot.com :: BOARDCOVER

게임판 덮기 문제 정보 문제 H*W 크기의 게임판이 있습니다. 게임판은 검은 칸과 흰 칸으로 구성된 격자 모양을 하고 있는데 이 중 모든 흰 칸을 3칸짜리 L자 모양의 블록으로 덮고 싶습니다. 이 때 블록들은 자유롭게 회전해서 놓을 수 있지만, 서로 겹치거나, 검은 칸을 덮거나, 게임판 밖으로 나가서는 안 됩니다. 위 그림은 한 게임판과 이를 덮는 방법을 보여줍니다. 게임판이 주어질 때 이를 덮는 방법의 수를 계산하는 프로그램을 작성하세요. 입력 력의 첫

www.algospot.com

 

 

해당 도형으로 게임판의 흰 칸 전체를 덮을 수 있는 모든 경우의 수를 재귀 호출로 구현하는 문제입니다.

순서만 다른 같은 방법을 중복으로 카운트하지 않도록 항상 가장 윗줄의 왼쪽부터 시작해야 합니다.

 

 

구현 코드