题目描述:
璐神现在有张n*m大小的地图,地图上标明了陆地(用"#“表示)和海洋(用”.“表示),现在璐神要计算这张地图上岛屿的数量。
已知岛屿是由陆地的连通块组成,即一块陆地的上、下、左、右,左上,右上,左下,右下有其他陆地,则构成连通块,以此类推。
此外,岛屿的详细定义如下:
1、岛屿的周围必须全是海洋。
2、如果连通块有任意区域在地图边界,则该连通块不是岛屿。
输入描述:
第1行输入两个整数n,m,代表地图的长和宽。
第2-n+1行,每行输入m个字符,字符为”#“表示陆地,为”."表示海洋。
数据保证:0<n,m≤200
输出描述:
输出一行整数,代表岛屿的数量。
输入:
3 3
…
.#.
…
3 3
#…
.#.
…
输出:
1
0
题意:
题目描述
题解:
爆搜,注意判断一个边界就好了
代码:
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<iostream>
using namespace std;
const int maxn = 200 + 5;
char s[maxn][maxn];
int vis[maxn][maxn];
int dir[][2] ={