P8546 小挖的 X 献身

题目描述

给定一张 $n\times n$ 的 $01$ 方阵,请计算其中 X 的数目。 X 定义为用 $1$ 填充且形状为 X 的联通块。具体的,X 由左向斜线 `\` 和右向斜线 `/` 构成,且需要保证左向斜线和右向斜线**长度相等**,而且 X 是中心对称图形,斜线长度大于 1。 例如: ```cpp 101 010 101 ``` 有一个斜线长度为 $3$ 的 X。 ```cpp 1001 0110 0110 1001 ```` 则有两个斜线长度分别为 $2,4$ 的 X。 ```cpp 10001 01010 00100 01010 00001 ``` 仅有一个斜线长度为 $3$ 的 X 。

输入格式

第 $1$ 行,共一个正整数 $n$。 接下来 $n$ 行每行一个长度为 $n$ 的 $01$ 串,描述了一个 $01$ 矩阵。

输出格式

共 $1$ 行,一个非负整数,表示 X 的数目。

说明/提示

对于 $20\%$ 的数据,$1\leq n\leq 3$。 对于 $40\%$ 的数据,$1\leq n\leq 10$。 对于 $70\%$ 的数据,$1\leq n\leq 50$。 对于 $100\%$ 的数据,$1\leq n\leq 100$。