#L0058. [蓝桥杯国赛 2024]--棋盘

[蓝桥杯国赛 2024]--棋盘

Description

一张棋盘由n 条横线与 n 条竖线垂直交叉构成。当前棋盘上的交叉位置已有若干黑棋。现需在没有棋子的交叉位置落一颗黑棋,使得落子后,包含此棋子在内的横向或竖向或斜向能够形成连续五颗及以上的黑棋。请计算一共有多少个位置满足要求;如果没有位置满足要求,输出 0。

以下图片是4 种出现连续五颗黑棋的情况:

image.png

例如:n = 8;棋盘由 8 条横线和 8 条竖线垂直交叉构成,棋盘已有黑棋如下图:

image.png

可以在以下位置放置黑棋(位置已使用红色框标注)来满足要求:

image.png

一共有5 个位置可以满足要求。

Input Format

第一行输入一个整数n(5≤n≤1000),表示棋盘的横线和竖线数量

接下来输入n 行,每行 n 个整数,整数只能为 0 或 1;0 表示该交叉位置没有黑棋,1 表示该交叉位置有黑棋,整数之间以一个空格隔开

Output Format

输出一个整数,表示满足题目要求的位置数量;如果没有位置满足要求,输出0

8
0 0 0 0 0 0 0 0
0 1 1 1 1 0 0 0
0 0 0 1 1 1 0 1
0 0 1 0 0 1 0 0
0 0 0 0 0 1 0 0
1 0 0 0 0 1 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
5

Source

思码特OJ编程训练营 http://127.0.0.1