#1234. 地毯

地毯

题目描述

在 n×nn\times n 的格子上有 mm 个地毯。

给出这些地毯的信息,问每个点被多少个地毯覆盖。

输入格式

第一行,两个正整数 n,mn, m。意义如题所述。

接下来 mm 行,每行两个坐标 (x1,y1)(x_1,y_1) 和 (x2,y2)(x_2,y_2),代表一块地毯,左上角是 (x1,y1)(x_1,y_1),右下角是 (x2,y2)(x_2,y_2)。

输出格式

输出 nn 行,每行 nn 个正整数。第 ii 行第 jj 列的正整数表示 (i,j)(i,j) 这个格子被多少个地毯覆盖。

数据范围

对于 20%20\% 的数据,有 n≤50n \le 50,m≤100m \le 100。

对于 100%100\% 的数据,有 n,m≤1000n, m \le 1000。

样例

输入样例 1

5 3
2 2 3 3
3 3 5 5
1 1 4 4

输出样例 1

1 1 1 1 0
1 2 2 1 0
1 2 3 2 1
1 1 2 2 1
0 0 1 1 1

提示

做法:每块地毯对应一次子矩阵加一,用二维差分数组 O(1)O(1) 完成,最后做一次二维前缀和还原,总复杂度 O(n2+m)O(n^2 + m)。