可莉的五子棋
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

可莉最近沉迷于蒙德五子棋,她在棋盘上放了一些棋子。

蒙德五子棋的规则如下。

给定一个n*m的棋盘。棋盘上有两种棋子“1”和“2”,其中每种棋子分别计算得分。

假如相同种类的五个棋子连成相邻的一行,一列,或斜对角线的情况,每有五个这样的棋子,该种类棋子加1分。

可莉已经把她的棋子都摆在了棋盘上。

但是可莉不太聪明的样子,她希望你,聪明的旅行者,告诉她,她两种棋子的得分。

输入描述:

第一行两个整数n,m,表示棋盘的大小。
接下来输入一个n*m的矩阵,表示棋盘。
“1”,“2”表示该位置有对应的棋子。
“0”表示该位置没有棋子。

输出描述:

一行2个整数,以空格隔开,表示“1”,“2”两种棋子各自的得分。
示例1

输入

复制
20 20
10202022021000221222
22111122221221101010
11211001210010001210
02222120211010112111
21220011111022120012
00111101111212221010
22122012211221212111
22102022221121110211
20222121122221221121
10012221102212201222
12110201221022101111
02212201100112112111
22111222202221211110
12112222222122102121
21021120121212010221
10222001121022022112
11111201112100221021
12112102021200111100
21021021011222222202
12021221122012111212

输出

复制
10 12

备注:

1<=n,m<=1000
可莉只是懒的算,才...才不是算不出来!