loj#P3010. 「JOI 2019 Final」勇者比太郎
「JOI 2019 Final」勇者比太郎
题目描述
译自 JOI 2019 Final T1「勇者ビ太郎 / Bitaro the Brave」
勇者比太郎正在面对恶魔。
为了攻击恶魔,比太郎会在一个 的网格上放置三种道具(分别记作 J,O,I
)并施放咒语。网格上往下数第 行(),左往右数第 列()的格子坐标记为 。
现在,比太郎在网格的每个格子中放置了三种道具中的一种,比太郎将施放一个咒语,其威力取决于三种道具的排列方式。具体的,威力大小等于满足以下条件的有序四元组 $(i, j, k, l) (1 \le i < k \le H, 1 \le j < l \le W)$ 的数量。
条件: 位置的格子上的道具为 J
, 位置上的道具为 O
, 位置上的道具为 I
。
比太郎想知道他的咒语的威力是多少。
请写一个程序,根据三种道具在网格上的排列,计算出咒语的威力(即满足上述条件的四元组数量)。
输入格式
从标准输入中读取数据。
第一行包括两个整数 ,表示网格的高度和宽度。
接下来 行,第 行给出一个 位长的字符串 ,表示网格第 行的道具。
输出格式
输出数据到标准输出中。
输出一行一个整数,表示比太郎的咒语的威力。
3 4
JOIJ
JIOO
IIII
3
4 4
JJOO
JJOO
IIJO
IIIJ
17
数据范围与提示
Subtask # | 分值 | |
---|---|---|
对于所有输入数据,有 。