小慕正在开发一款地图分析工具,他需要处理一张由 n 行 m 列组成的网格地图。每个格子代表一个项目模块,模块的名称由一个小写字母表示。 我们用 (i, j) 表示网格中从上往下第 i 行、从左往右第 j 列的格子,其模块名称为 s_{i,j}。 如果两个模块的名称相同,并且它们在地图中是相邻的(即四方向相邻,上下左右),那么它们属于同一个亲密模块组。更正式地说,两个格子 (x, y) 和 (p, q) 属于同一个亲密模块组,当且仅当: 它们的模块名称相同,即 s_{x,y} = s_{p,q}, 且它们是相邻格子,即满足 |x - p| + |y - q| = 1。 小慕现在需要你帮忙计算:对于每个格子 (i, j) 所在的亲密模块组,这个组与多少个不同的敌对模块相邻(即相邻格子中,模块名称与当前组不同的种类数)。
提示:带虚线的词点一下有通俗解释。
时间限制 1000 ms · 内存限制 128 MB