是BUG吗? 就只有#8错了。。。。
#include <bits/stdc++.h>
using namespace std;
int value[5005][5005];
int main()
{
int m, n, Max = 0;
cin >> n >> m;
for (int i = 1; i <= n; i ++)
{
int x, y, v;
cin >> x >> y >> v;
value[x][y] = v;
}
for (int i = 1; i <= 5001; i ++)
for (int f = 1; f <= 5001; f ++)
value[i][f] = value[i][f] + value[i - 1][f] + value[i][f - 1] - value[i - 1][f - 1];
for (int i = 0; i <= 5000 - m; i ++)
for (int f = 0; f <= 5000 - m; f ++)
Max = max(Max, value[i + m][f + m] - value[i + m][f] - value[i][f + m] + value[i][f]);
cout << Max << endl;
return 0;
}
如果改成这样:
#include <bits/stdc++.h>
using namespace std;
int value[5005][5005];
int main()
{
int m, n, Max = 0;
cin >> n >> m;
for (int i = 1; i <= n; i ++)
{
int x, y, v;
cin >> x >> y >> v;
value[x + 1][y + 1] = v;
}
for (int i = 1; i <= 5001; i ++)
for (int f = 1; f <= 5001; f ++)
value[i][f] = value[i][f] + value[i - 1][f] + value[i][f - 1] - value[i - 1][f - 1];
for (int i = 0; i <= 5000 - m; i ++)
for (int f = 0; f <= 5000 - m; f ++)
Max = max(Max, value[i + m][f + m] - value[i + m][f] - value[i][f + m] + value[i][f]);
cout << Max << endl;
return 0;
}
就是#10错了。。。。
此刻的我是昏的