▶문제설명
[BOJ] 14500. 테트로미노
▶Hint
브루트 포스 문제이다. 5 종류의 테트로미노를 회전/대칭 시키는 것이 가능하다는 조건이 관건이다.
테트로미노 각각에 초점을 맞추면 문제가 복잡해질 수 있으나,
숫자 판 자체에 초점을 맞추면 문제가 단순해질 수 있다.
입력으로 주어진 숫자 판 자체를 회전/대칭 시키면 테트로미노의 종류 별로 고민할 필요 없이 같은 결과를 얻을 수 있다.
(숫자 판을 회전/대칭시켜 8개의 숫자판을 만들 수 있다.)
숫자 판을 90도 회전시키고 나면 행과 열이 바뀌므로 N과 M을 스왑해야한다는 점도 잊어선 안된다.
1. 숫자 판을 회전시켜 4개의 회전된 숫자 판을 만든다.
2. 각 숫자 판에 대해 5 종류의 테트로미노 각각에 대하여 놓을 수 있는 모든 경우를 체크한다.
3. 숫자 판을 대칭시킨다.
4. 대칭된 숫자 판을 회전시켜 4개의 회전된 숫자 판을 만든다.
5. 각 숫자 판에 대해 5 종류의 테트로미노 각각에 대하여 놓을 수 있는 모든 경우를 체크한다.
위와 같은 방법으로 모든 경우를 탐색하여 정답을 도출할 수 있다.
▶Solution
'■ 알고리즘 문제 풀이 > BOJ' 카테고리의 다른 글
[BOJ] 백준 6087. 레이저 통신 (0) | 2019.04.05 |
---|---|
[BOJ] 백준 14502. 연구소 (0) | 2019.04.04 |
[BOJ] 백준 14501. 퇴사 (0) | 2019.04.04 |
[BOJ] 백준 14499. 주사위 굴리기 (0) | 2019.04.03 |
[BOJ] 백준 3055. 탈출 (0) | 2019.03.11 |