CSPSMK01B. 草地

提交5 通过2
通过率40%
文件IO启用
输入文件grass.in
输出文件grass.out
时间限制1000ms
内存限制256MiB
    ID: 14524 传统题 文件IO 输入文件:grass.in 输出文件:grass.out 1000ms 256MiB 尝试: 5 已通过: 2 难度: 普及+/提高- 上传者: 标签>C++CSP-S考前模拟

题目描述

题目描述

lbw 的草地可以被看作是一个由 N×NN \times N 个正方形方格(1≤N≤5001 \leq N \leq 500)组成的方阵(想象一个巨大的棋盘)。由于土壤变异性,某些方格中的草可能更绿。每个方格 (i,j)(i,j) 可以用一个整数绿度值 G(i,j)G(i,j) 来描述,范围为 1…2001 \ldots 200。

lbw 想要给他的草地的一个子矩阵拍摄一张照片。他希望确保这一子矩阵看上去足够绿,但又不绿得过分,所以他决定拍摄一个 GG 的最小值恰好等于 100 的子矩阵。请帮助他求出他可以拍摄多少不同的照片。子矩阵最大可以为整个草地,最小可以仅为一个方格(共有 N2(N+1)2/4N^2(N+1)^2/4 个不同的子矩阵)。

输入格式

输入的第一行包含 NN。以下 NN 行每行包含 NN 个整数,表示 N×NN \times N 草地的 G(i,j)G(i,j) 值。

输出格式

输出 lbw 可以拍摄的不同的照片数量——也就是说,最小绿度值等于 100100 的子矩阵数量。

输入样例

3
57 120 87
200 100 150
2 141 135

输出样例

8

说明提示

测试点性质:

输入样例 #2

1
100

输出样例 #2

1

输入样例 #3

2
99 100
100 101

输出样例 #3

4

数据范围

  • 对于 50%50\% 的数据,满足 N≤200N\le 200。

  • 对于另外 50%50\% 的数据,没有额外限制。