#G0132. 收集钻石【2025欢乐赛T6】
收集钻石【2025欢乐赛T6】
题目描述
江桥喜欢收集钻石!
地图是一个 的矩形区域,其中从上往下第 行,从左往右第 列的格子为 。
所有格子只由空地(用 . 表示)、障碍(用 * 表示)、钻石(用 v 表示)组成,且整个地图中有且仅有一个钻石。
对于每张地图,江桥会发动恰好一次收集魔法:选定地图上的一个矩形区域,然后收集这个区域里(包括矩形边界上)的钻石(如果有的话)。
江桥发动魔法时,矩形区域的四个顶点的坐标必须是整数,且四个顶点的位置必须不为障碍物,且所有坐标不能超出地图的边界,同时矩形的面积不能为 。
形式化地,假设选定的矩形左上角坐标为 ,右下角坐标为 ,则需要满足 $1 \leq x < x^{'} \leq n,1 \leq y < y^{'} \leq m;(x,y),(x,y^{'}),(x^{'},y),(x^{'},y^{'})$ 的位置均为不为障碍物。
江桥想知道,有多少个矩形可以收集到钻石。只要两个矩形的任意一个顶点坐标不同,那么在这两个矩形就被视为是不同的。由于答案可能过大,你只需要输出答案对 取模后的值即可。
输入格式
第一行两个正整数 ,表示地图的行数和列数。
接下来 行,每行一个长度为 的字符串 ,表示地图的第 行。
输出格式
一个整数,表示答案对 取模后的值。
5 4
**.*
....
.v*.
.**.
...*
9
样例解释
样例中共有以下 个矩形满足条件:
数据规模与约定
下发文件对应子任务 。
有合理的子任务依赖。
| 子任务编号 | 特殊性质 | 分值 | |
|---|---|---|---|
| 地图中不存在障碍物 | |||
| 钻石在坐标 | |||
对于 的数据:保证 $1 \leq n,m,n\times m \leq 2 \times 10^5,|s_i| = m,s_{i,j} \in \{.,*,v\}$ 且 v 恰好有一个。