Problem5157--成熟的蔬菜

5157: 成熟的蔬菜

[Creator : ]
Time Limit : 1.000 sec  Memory Limit : 256 MiB

Description

Jerry 家n*m的方格地里长了各种各样的蔬菜(不同的蔬菜用不同的大写字母表示),可是很多蔬菜却还没有成熟。如果一棵蔬菜已经成熟的话,会长得很大,至少会占两个格子,两颗相同的蔬菜相邻(上下左右)则被认为是同一棵蔬菜!Jerry只吃已经成熟的蔬菜,每当Jerry吃掉一颗蔬菜,原来的格子上都会长满杂草(用’#’表示)。Jerry每天不停的吃,现在它地里的蔬菜已经所剩不多了!不过Jerry觉得能吃就是最幸福的事!Jerry想知道,在这些剩下的蔬菜中,有几种蔬菜已经可以吃了呢?

输入:

输入文件名为fullgrown.in。

第一行:两个整数n和m,中间用空格隔开(3<=n,m<=100)。

接下来是一个n行m列,由大字母和’#’组成的矩阵。



输出:

输出文件名为fullgrown.out。

输出一行,一个整数(成熟蔬菜的种数)。


样例1:

输入:

3  5

# A # # #

# A # B B

# # C # A

输出:

2

样例1解释:

样例1中存在2棵成熟的蔬菜:

第一棵是A:

#

A

#

#

#

#

A

#

B

B

#

#

C

#

A

第二棵是B:

#

A

#

#

#

#

A

#

B

B

#

#

C

#

A



样例2:

输入:

5  5

# D # # #

D D # A #

# D A A #

# C C E C

# # B # #

输出:3

样例2解释:

样例2中存在3棵成熟的蔬菜:

第一棵是D:

#

D

#

#

#

D

D

#

A

#

#

D

A

A

#

#

C

C

E

C

#

#

B

#

#



第二棵是A:

#

D

#

#

#

D

D

#

A

#

#

D

A

A

#

#

C

C

E

C

#

#

B

#

#




第三棵是C:

#

D

#

#

#

D

D

#

A

#

#

D

A

A

#

#

C

C

E

C

#

#

B

#

#





【数据规模与约定】

100% 的数据,保证3<=n,m<=100。


注意:程序名保存为fullgrown.cpp


Source/Category