最好的草 奶牛Bessie计划好好享受柔软的春季新草。新草分布在R行C列的牧场里。它想计算一下牧场中的草丛数量。 在牧场地图中,每个草丛要么是单个“#”,要么是有公共边的相邻两个“#”。给定牧场地图,计算有多少个草丛。 例如,考虑如下5行6列的牧场地图 . # . . . . . . # . . . . . # . . # . . . # # . . # . . . . 这个牧场有5个草丛:一个在第一行,一个在第二列横跨了二、三行,一个在第三行,一个在第四行横跨了四、五列,最后一个在第五行。 时间限制:10000 内存限制:65536 输入 第一行包含两个整数R和C,中间用单个空格隔开。 接下来R行,每行C个字符,描述牧场地图。字符只有“#”或“.”两种。(1 <= R, C <= 100 ) 输出 输出一个整数,表示草丛数。 样例输入 5 6 .#.... ..#... ..#..# ...##. .#.... 样例输出 5
正确答案:参考程序(C++):最好的草DFS连通块。每个'#'或相邻两'#'算一个草丛,DFS统计连通块数。核心:DFS连通块计数。
试卷来源:202206 青少年等级考试C/C++真题二级