[USACO20FEB] Equilateral Triangles P
题目描述
Farmer John 的农场可以用一个 $N \times N$ 的方阵($1 \leq N \leq 300$)。对于方阵内的每个格子,如果这个格子有奶牛,就用 `*` 表示,否则用 `.` 表示。
FJ 相信他的牧场的美丽程度正比于两两距离相等的奶牛三元组的数量。也就是说,她们组成一个等边三角形。不幸的是,直到最近 FJ 才发现,由于他的奶牛都处在整数坐标位置,如果使用欧几里得距离进行计算,不可能存在美丽的奶牛三元组!于是,FJ 决定改用“曼哈顿”距离。形式化地说,两点 $(x_0,y_0)$ 和 $(x_1,y_1)$ 的曼哈顿距离等于 $|x_0-x_1|+|y_0-y_1|$。
给定表示奶牛位置的方阵,计算等边三角形的数量。
输入输出格式
输入格式
第一行一个整数 $N$。
接下来 $N$ 行,每行一个长度为 $N$ 的字符串,第 $i$ 行的第 $j$ 个字符表示位置 $(i,j)$ 上是否有奶牛。
输出格式
输出一个整数,为所求的答案。可以证明答案可以用 32 位有符号整数型存储。
输入输出样例
输入样例 #1
3
*..
.*.
*..
输出样例 #1
1
说明
### 样例解释
有三头奶牛,并且她们组成了一个等边三角形,因为每对奶牛之间的曼哈顿距离都等于二。
### 子任务
- 对于测试点 $T$($T \in [2,11]$),满足 $N=25T$;
- 对于测试点 $T$($T \in [12,15]$),满足 $N=300$。