CF435D Special Grid
题目描述
给定一个 $n \times m$ 的网格,其部分节点为黑色,其余节点为白色。此外,这不是一个普通的网格——网格中的每个单元格都画有对角线。
下图是一个 $3 \times 5$ 大小的网格示例。该网格有 $4$ 个黑色节点,其余 $11$ 个节点为白色。

你的任务是统计该网格上满足以下条件的三角形个数:
- 三个角都在白色节点上,且面积大于 $0$。
- 所有边都沿着网格线(水平、垂直或对角线);
- 任意一条边上不能包含黑色节点。
输入格式
第一行包含两个整数 $n$ 和 $m$,$2 \leq n, m \leq 400$。接下来的 $n$ 行,每行包含 $m$ 个字符('0' 或 '1'),用以描述网格。若第 $i$ 行第 $j$ 个字符为 '0',则该位置为白色节点,否则为黑色节点。
横向编号自上至下从 $1$ 开始,纵向编号自左至右从 $1$ 开始。
输出格式
输出一个整数,表示满足条件的三角形数量。
说明/提示
下图中的红色和蓝色三角形为样例中的合法三角形。其中绿色三角形为非法三角形,因为并非所有边都沿着网格线。

由 ChatGPT 5 翻译