-
백준(BOJ) 14500번 테트로미노알고리즘 풀이/백준(Boj) 2019. 9. 16. 21:49
문제 : https://www.acmicpc.net/problem/14500
문제폴리오미노란 크기가 1×1인 정사각형을 여러 개 이어서 붙인 도형이며, 다음과 같은 조건을 만족해야 한다.
- 정사각형은 서로 겹치면 안 된다.
- 도형은 모두 연결되어 있어야 한다.
- 정사각형의 변끼리 연결되어 있어야 한다. 즉, 꼭짓점과 꼭짓점만 맞닿아 있으면 안 된다.
정사각형 4개를 이어 붙인 폴리오미노는 테트로미노라고 하며, 다음과 같은 5가지가 있다.
아름이는 크기가 N×M인 종이 위에 테트로미노 하나를 놓으려고 한다. 종이는 1×1 크기의 칸으로 나누어져 있으며, 각각의 칸에는 정수가 하나 쓰여 있다.
테트로미노 하나를 적절히 놓아서 테트로미노가 놓인 칸에 쓰여 있는 수들의 합을 최대로 하는 프로그램을 작성하시오.
테트로미노는 반드시 한 정사각형이 정확히 하나의 칸을 포함하도록 놓아야 하며, 회전이나 대칭을 시켜도 된다.
풀이 :
테트로미노가 정사각형 4개를 이어 붙인 것일테니 1번 모양부터 4번 모양까지는 상하좌우 어디든 붙이기만 하면 모양을 만
들 수 있다. 5번을 예외로 처리하고 나머지 도형은 상하좌우 4가지 방향 재귀 호출로 해결하자.
코드 ( C++ )
'알고리즘 풀이 > 백준(Boj)' 카테고리의 다른 글
백준(BOJ) 2933번 미네랄 (31) 2019.09.20 백준(BOJ) 5213번 과외맨 (31) 2019.09.18 백준(BOJ) 4811번 알약 (31) 2019.09.16 백준(BOJ) 3190번 뱀 (31) 2019.09.15 백준(BOJ) 15686번 치킨 배달 (0) 2019.09.12