풀이
이 풀이를 참고하자.
복붙 날먹 꺼-억
아 이 문제는 사각형이 격자를 벗어나면 안 되니까 주의하자.
코드
#include <bits/stdc++.h>
using namespace std;
int n, m, t, k;
int dap, dap_x, dap_y;
struct abc {
int x, y;
} a[111];
void go(int x, int y) {
int cnt = 0;
for (int i = 1; i <= t; i++) {
if (x <= a[i].x && a[i].x <= x+k &&
y <= a[i].y && a[i].y <= y+k) cnt++;
}
if (cnt > dap) {
dap_x = (x+y)/2;
dap_y = (x-y)/2;
dap = cnt;
}
}
int main() {
cin >> n >> m >> t >> k;
for (int i = 1; i <= t; i++) {
int x, y;
cin >> x >> y;
a[i].x = x+y, a[i].y = x-y;
}
dap = dap_x = dap_y = -1;
for (int i = 1; i <= t; i++) {
for (int j = 1; j <= t; j++) {
int x = a[i].x, y = a[j].y;
if ((x+y)%2) go(x+1, y), go(x-1, y), go(x, y+1), go(x, y-1);
else go(x, y);
}
}
cout << dap_x+k/2 << " " << dap_y << "\n" << dap;
return 0;
}
아무말
백준, 백준 온라인 저지, BOJ, Baekjoon Online Judge, C, C++, 씨, 씨쁠쁠, JAVA, algorithm, 자바, 알고리즘, 자료구조, 문제, 문제 풀이, 풀이