Muscardinus

테트로미노 본문

알고리즘 문제/[삼성 SW 역량 테스트 기출 문제]

테트로미노

Muscardinus 2020. 8. 22. 16:14
728x90

https://www.acmicpc.net/problem/14500

 

14500번: 테트로미노

폴리오미노란 크기가 1×1인 정사각형을 여러 개 이어서 붙인 도형이며, 다음과 같은 조건을 만족해야 한다. 정사각형은 서로 겹치면 안 된다. 도형은 모두 연결되어 있어야 한다. 정사각형의 변�

www.acmicpc.net

#include <iostream>

using namespace std;

int n, m;
int map[503][503];

const char block[19][4][5] = {
	{
		"1111",
		"0000",
		"0000",
		"0000"
	},
	{
		"1000",
		"1000",
		"1000",
		"1000"
	},
	{
		"1100",
		"1100",
		"0000",
		"0000"
	},
	{
		"1000",
		"1000",
		"1100",
		"0000"
	},
	{
		"0010",
		"1110",
		"0000",
		"0000"
	},
	{
		"1100",
		"0100",
		"0100",
		"0000"
	},
	{
		"1110",
		"1000",
		"0000",
		"0000"
	},
	{
		"0100",
		"0100",
		"1100",
		"0000"
	},
	{
		"1110",
		"0010",
		"0000",
		"0000"
	},
	{
		"1100",
		"1000",
		"1000",
		"0000"
	},
	{
		"1000",
		"1110",
		"0000",
		"0000"
	},
	{
		"1000",
		"1100",
		"0100",
		"0000"
	},
	{
		"0110",
		"1100",
		"0000",
		"0000"
	},
	{
		"0100",
		"1100",
		"1000",
		"0000"
	},
	{
		"1100",
		"0110",
		"0000",
		"0000"
	},
	{
		"1000",
		"1100",
		"1000",
		"0000"
	},
	{
		"0100",
		"1110",
		"0000",
		"0000"
	},
	{
		"0100",
		"1100",
		"0100",
		"0000"
	},
	{
		"1110",
		"0100",
		"0000",
		"0000"
	}
};
int get_count(int sy, int sx, int k) {
	int ret = 0;
	for (int y = 0; y < 4; y++) {
		for (int x = 0; x < 4; x++) {
			ret += (block[k][y][x] - '0') * map[sy + y][sx + x];
		}
	}
	return ret;
}

int main() {
	ios_base::sync_with_stdio(false);
	cin >> n >> m;
	for (int i = 0; i < n; i++) {
		for (int j = 0; j < m; j++) {
			cin >> map[i][j];
		}
	}
	for (int y = n; y < n + 3; ++y) {
		for (int x = 0; x < m + 3; ++x) {
			map[y][x] = -100000;
		}
	}

	for (int y = 0; y < n + 3; ++y) {
		for (int x = m; x < m + 3; ++x) {
			map[y][x] = -100000;
		}
	}
	int ret = 0;
	for (int y = 0; y < n; y++) {
		for (int x = 0; x < m; x++) {
			for (int k = 0; k < 19; k++) {
				int candi = get_count(y, x, k);
				if (ret < candi) ret = candi;
			}
		}
	}
	cout << ret<<"\n";
	return 0;
}
728x90

'알고리즘 문제 > [삼성 SW 역량 테스트 기출 문제]' 카테고리의 다른 글

로봇청소기  (0) 2020.08.24
연구소  (0) 2020.08.23
주사위 굴리기  (0) 2020.08.21
시험 감독  (0) 2020.08.20
  (0) 2020.08.19
Comments