1,首先,画个图,很容易弄明白cnt -1 这个道理。
2,我也知道要用dfs,但是代码该怎么写。
3,首先,创建v[1010][1010] 数组来保存两个城市之间是否有没有路(=1)
4,设置bool visit[1010]数组来表示每个顶点是否访问过。
5,首先,外循环理论上有多少个顶点,就有多少个入口能进入这个图中。第一个for循环
6,把被占领的城市标记为true,这样就访问不到这个城市了,那这个城市相当于被占领了
7,循环内,如果当前节点没被访问过,就进行dfs
8,dfs首先就要把当前这个访问节点标记为visit,再以这个节点为起点,利用v[a][b] ==1&&visit[i] ==false;节点有路并且没访问过,进行深度遍历;
9每进行一次dfs代表单独的岛cnt++;
10,还是比较简单的