T311446 卫星地图
题目背景
有一天,亲爱的~~蔡徐坤~~**坤坤同学**捡到一张纸,上面写着一些题目.他看见↓一张地图,可是由于他练习了两年半,十分虚弱和劳累,所以没有力气思考了。现在他想知道这幅地图上面的$\text{L}$型、$\text{C}$型和$\text{S}$型区域到底有多少、是什么样的,所以找到聪明的~~小黑子~~**你**求助。如果你答对了,你将会**AC**~~得到他的唱、跳、$\text{Rap}$、篮球专属教学~~.以下是他找到的地图↓.
题目描述
一张矩形的卫星地图,有$M$行$N$列。行列中的$0$表示空地,$1$表示有建筑。有$3$种类型的建筑:
$\text{L}$型: 仅在一行上占据连续的若干个格子,长度至少为$2$,至多为$N$.
$\text{C}$型:仅在一列上占据连续的若干个格子,长度至少为$2$,至多为$M$.
$\text{S}$型:仅占据单个格子.
在同一行上或者同一列上可以出现多个建筑。
不同的建筑不会相邻,相邻是指**上,下,左,右**,以及**左上,左下,右上,右下**等八个方向。
求出不同类型的建筑的数量及长度。
输入格式
第$1$行:$2$个整数$M$和$N$
接下来$M$行,每行$N$个$0$或$1$,数字之间由空格分开
输出格式
第$1$行:先输出S,再输出$1$个整数表示$\text{S}$型建筑的数量,如果没有,则不输出。
接下来若干行,每行依次表示$\text{L}$型建筑的长度以及该长度的建筑数量,按长度递增的顺序输出,中间用一个空格分开,如果没有$\text{L}$型建筑,则不输出。
接下来若干行,每行依次表示$\text{C}$型建筑的长度以及该长度的建筑数量,按长度递增的顺序输出. 中间用一个空格分开,如果没有$\text{C}$型建筑,则不输出。
说明/提示
$1 \le M,N \le 1000$