#8错了。。。。
查看原帖
#8错了。。。。
398155
某kob在此楼主2020/10/27 22:34

是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错了。。。。

此刻的我是昏的

2020/10/27 22:34
加载中...