|
|
|
@ -16,22 +16,21 @@ int main() {
|
|
|
|
|
|
|
|
|
|
for (int i = 1; i <= n; i++) {
|
|
|
|
|
X.push_back(a[i].x);
|
|
|
|
|
X.push_back(a[i].x - L);
|
|
|
|
|
X.push_back(a[i].x - L); // 所有可能的左上角起点坐标(x,y) 必然满足x in X,y in Y
|
|
|
|
|
Y.push_back(a[i].y);
|
|
|
|
|
Y.push_back(a[i].y - L);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
for (int i = 0; i < X.size(); i++) {
|
|
|
|
|
for (int j = 0; j < Y.size(); j++) {
|
|
|
|
|
for (int i = 0; i < X.size(); i++)
|
|
|
|
|
for (int j = 0; j < Y.size(); j++) { // 枚举每个可能的左上角坐标
|
|
|
|
|
int cnt = 0;
|
|
|
|
|
int lx = X[i], ly = Y[j];
|
|
|
|
|
for (int k = 1; k <= n; k++)
|
|
|
|
|
if (a[k].x >= lx && a[k].x <= lx + L && a[k].y >= ly && a[k].y <= ly + L)
|
|
|
|
|
int x = X[i], y = Y[j];
|
|
|
|
|
for (int k = 1; k <= n; k++) // 枚举每个金矿
|
|
|
|
|
if (a[k].x >= x && a[k].x <= x + L && a[k].y >= y && a[k].y <= y + L)
|
|
|
|
|
cnt++;
|
|
|
|
|
|
|
|
|
|
ans = max(ans, cnt);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
cout << ans << endl;
|
|
|
|
|
|
|
|
|
|