본문 바로가기

■ 알고리즘 문제 풀이/BOJ

[BOJ] 백준 14500. 테트로미노

▶문제설명

[BOJ] 14500. 테트로미노

https://www.acmicpc.net/problem/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