Informatica Online Judge

  명진이의 폭주 [2415 / 096F]

Time Limit(Test case) : 1000 (ms)
Number of users who solved : 6   Total Tried : 23


The Champion of this Problem (C++) : gs18081 - 0ms / 1639byte
My Best Submission (C++) : N/A

[36th 최승민 (gs18113)]
Writer ID : [gs18113]

Background

지난번에 영화 "존 윅"을 보고 멋있는 액션물에 대한 로망이 생긴 명진이는 액션 영화를 완전히 섭렵하는 것을 인생의 목표로 삼기로 했다!
본격적으로 영화를 관람하기 시작한 명진이는 고전 영화인 "더 마스크 오브 조로"를 보고 큰 감명을 받았다.
특히 조로의 트레이드마크인 "Z"문양은 명진이의 머릿속에 깊게 남았다.
그러던 어느 날, 계속되는 수행평가의 물결로 인해 정신줄을 놓은 명진이는 갑자기 조로를 따라하기 시작했다!



명진이는 SRC 벽에 조로처럼 Z문양을 그리고 싶었지만, 진짜 칼은 좀 그랬기 때문에 페인트로 Z문양을 그렸다.
재용이는 명진이가 지나간 n*m 크기의 벽을 보고, 벽에 있는 Z문양의 개수는 몇 개인지 궁금해지기 시작했다.
재용이를 위해 Z문양의 총 개수를 세어 주도록 하자!

* Z문양이란, k*k(1 $\leq$ k)의 칸들에서
- 맨 위 열
- 맨 아래 열
- 오른쪽 위에서 왼쪽 아래로 이어지는 대각선
이 전부 칠해져 있는 모양을 말한다. 나머지 칸은 어떻게 되어 있든 상괸이 없다.(사진 참고)
(1*1의 칠해진 칸도 Z문양에 해당된다!)

Input

첫 줄에 명진이가 지나간 벽의 크기 n, m이 공백을 사이에 두고 주어진다. (1 $\leq$ n, m $\leq$ 1000)
다음 n개 줄에는 각 행의 상태를 나타내는 길이 m의 문자열이 주어진다. "z"(소문자)는 명진이가 칠한 곳, "."는 명진이가 칠하지 않은 곳을 나타낸다.

Output

벽에 있는 모든 Z문양의 수를 출력하라.

IO Example

입력
4 4
zzzz
zzz.
.z..
zzzz

출력
16

입력
1 2
zz

출력
2

Submit : [C/C++] | [C++11] | [Obj-C] | [Java] | [Python]
Prob Analysis : [Problem Statistics] | [Solution]