题目
KXT是一个很无聊的小朋友,一天到晚都在打坐…
一天,被他发现了一个比打坐更无聊的事情——打砖块。很多块砖分布在一个mm的矩阵中,他可以消掉以他为左上角顶点的一个nn的矩阵里的所有砖块。
喜欢偷懒的他请来了你帮他计算可以消掉最多的砖块数(只能消一次)。
输入
第一行:用空格隔开的三个整数n、m、k。
接下来k行,每行2个用空格隔开的整数Xi、Yi,表示第i块砖在Xi行、Yi列的位置。
输出
为可以消掉最多的砖块数。
输入输出样例
输入
5 10 11
2 1
4 6
4 9
3 9
9 7
9 9
7 9
8 10
8 8
8 6
10 2
输出
6
样例解释
站在第4行、6列的位置,可以消除6个方块。
数据范围
n<=m; k<=m*m
60%:n<=70; m<=70; k<=4900
100%:n<=1000; m<=1000; k<=1000000
解题思路
这道题与求最大子矩阵之和很像,只不过是多了一个边长限制,那么只需要在计算及循环上做一下改动就可以了。
代码
#include<iostream>
#include<cstdio>
using namespace std;
int m,k,n,a[