D. 三子棋

    Type: Default 1000ms 256MiB

三子棋

You cannot submit for this problem because the contest is ended. You can click "Open in Problem Set" to view this problem in normal mode.

题目描述

33DAI 很喜欢三子棋。今天他在一张很大的方形棋盘上下棋,棋盘可以看作是一个 nnmm 列的网格。(大家应该知道三子棋是下在格子里面的吧?)

33DAI 今天的玩法非常不一样。棋盘上有些位置上有棋子,有些位置上没有。所有的棋子都是己方棋子。33DAI 可以任选一个空着的位置下棋。如果他落子的位置能和周边的另外两个棋子构成三连(横着、竖着、斜着都可以),那么这就是一个好位置。

请你帮 33DAI 找找棋盘上有多少个好位置吧!

输入格式

第一行为空格隔开的两整数 nnmm

接下来 nn 行,每行为 mm 个字符,描述了整个棋盘,第 ii 行第 jj 列的字符为 gi,jg_{i,j},描述了第 ii 行第 jj 列的格子。

如果字符为 . 则表示这个位置没有棋子,如果字符为 # 则表示这个位置有一个己方棋子。

输出格式

一行一个整数,表示有多少个空着的位置是好位置。

5 7
.......
...#...
...##..
.......
...#..#
6

样例解释

下面用字符 o 标出了所有好位置

..oo...
...#...
..o##o.
...o.o.
...#..#

数据规模与约定

对于 100%100\% 的数据,1n,m501\le n, m\le 50gi,jg_{i,j}.# 中的一种。

  • 子任务 1(3030 分):保证有且仅有两个位置为 #
  • 子任务 2(3030 分):保证每个 # 与其他 # 的行数要么相同,要么相差大于 22。即不会产生竖着、斜着的三连。
  • 子任务 3(4040 分):无特殊限制

挖土机周赛R0

Not Attended
Status
Done
Rule
ACM/ICPC
Problem
4
Start at
2024-1-17 19:00
End at
2024-1-17 21:00
Duration
2 hour(s)
Host
Partic.
15