#E0016. 字母连通块

字母连通块

题目描述

输入一个 nnmm 列的字符矩阵。

每一个元音字母('a'、'e'、'i'、'o'、'u')和它周围八个方向(上、下、左、右、左上、右上、左下、右下)相邻格子的元音字母处在同一个连通块中。

每一个辅音字母和它周围八个方向(上、下、左、右、左上、右上、左下、右下)相邻格子的辅音字母处在同一个连通块中。

问:字符矩阵中有多少个连通块?

输入格式

第一行,两个整数 nnmm,表示字符矩阵的行数和列数(1n,m10001 \le n,m \le 1000)。

接下来 nn 行,每行包含一个长度为 mm 的字符串,表示这个字符矩阵。

数据保证字符矩阵中的每个字符均为小写英文字母。

输出格式

输出一个整数,表示字符矩阵中的连通块个数。

5 6
aeioui
uggajh
bbcabc
acfghf
iudefg
4

说明/提示

样例解释

下图中使用不同的颜色表示了样例中的连通块:

数据规模与约定

  • 对于 30%30\% 的数据,n,m10n,m \le 10
  • 对于 60%60\% 的数据,n,m100n,m \le 100
  • 对于 100%100\% 的数据,1n,m10001 \le n,m \le 1000