음... 영양가 하나도 없는 밥을 억지로 우겨넣는 느낌의 문제였다.
배열 초기화만 할 줄 알면 쉽게 풀 수 있다.
#include <iostream>
#include <algorithm>
using namespace std;
int a[1001][1001];
int p[501][501];
int t[20][4][4] = {
{
{1,1,1,1},
{0,0,0,0},
{0,0,0,0},
{0,0,0,0}
},
{
{1,0,0,0},
{1,0,0,0},
{1,0,0,0},
{1,0,0,0}
},
{
{1,1,0,0},
{1,1,0,0},
{0,0,0,0},
{0,0,0,0}
},
{
{1,0,0,0},
{1,0,0,0},
{1,1,0,0},
{0,0,0,0}
},
{
{0,1,0,0},
{0,1,0,0},
{1,1,0,0},
{0,0,0,0}
},
{
{0,0,1,0},
{1,1,1,0},
{0,0,0,0},
{0,0,0,0}
},
{
{1,1,0,0},
{0,1,0,0},
{0,1,0,0},
{0,0,0,0}
},
{
{1,1,0,0},
{1,0,0,0},
{1,0,0,0},
{0,0,0,0}
},
{
{1,1,1,0},
{1,0,0,0},
{0,0,0,0},
{0,0,0,0}
},
{
{1,0,0,0},
{1,1,1,0},
{0,0,0,0},
{0,0,0,0}
},
{
{1,1,1,0},
{0,0,1,0},
{0,0,0,0},
{0,0,0,0}
},
{
{1,0,0,0},
{1,1,0,0},
{0,1,0,0},
{0,0,0,0}
},
{
{0,1,0,0},
{1,1,0,0},
{1,0,0,0},
{0,0,0,0}
},
{
{1,1,0,0},
{0,1,1,0},
{0,0,0,0},
{0,0,0,0}
},
{
{0,1,1,0},
{1,1,0,0},
{0,0,0,0},
{0,0,0,0}
},
{
{1,0,0,0},
{1,1,0,0},
{1,0,0,0},
{0,0,0,0}
},
{
{0,1,0,0},
{1,1,1,0},
{0,0,0,0},
{0,0,0,0}
},
{
{0,1,0,0},
{1,1,0,0},
{0,1,0,0},
{0,0,0,0}
},
{
{1,1,1,0},
{0,1,0,0},
{0,0,0,0},
{0,0,0,0}
},
};
int main() {
int N, M;
cin >> N >> M;
for (int i = 0; i < N; i++)
{
for (int j = 0; j < M; j++)
{
cin >> p[i][j];
}
}
int maxnum = -1;
for (int i = 0; i < N; i++)
{
for (int j = 0; j < M; j++)
{
for (int k = 0; k < 20; k++)
{
int tmp = 0;
for (int y = 0; y < 4; y++)
{
for (int x = 0; x < 4; x++)
{
if (t[k][y][x] == 1)
{
tmp += p[i + y][j + x];
}
}
}
maxnum = max(tmp, maxnum);
}
}
}
cout << maxnum;
return 0;
}
'프로그래밍 공부 > 백준 (C++)' 카테고리의 다른 글
[ C++ / 백준 15663번 ] N과 M (9) (0) | 2024.12.28 |
---|---|
[백준 15649번, 15650번 / C++] N과 M (0) | 2024.12.19 |
[C++ / 백준 3085번] 사탕 게임 (0) | 2024.12.05 |
[C++ / 백준 11054번] 가장 긴 바이토닉 부분 수열 (0) | 2024.11.30 |
[C++ / 백준 1392번] 정수 삼각형 (0) | 2024.11.29 |