摘要: 如果想知道一副地图里有多少个独立的小岛又该怎么做呢? so easy。只需要对地图上的每一个大于0的点都进行一遍深度优先搜索即可,因为等于0的点是海洋,小于0的点是已经被染色的小岛。 可以从(1,1)开始,一直枚举到(n,m),对每个点进行尝试染色。 阅读全文
posted @ 2017-02-23 20:11 walanwalan 阅读(1523) 评论(0) 推荐(0) 编辑
摘要: /*宝岛探险:深度优化算法解答*/ #include int a[51][51]; int book[51][51]; int n, m, sum; void dfs(int x, int y) { int k, tx, ty; //定义一个方向数组 int next[4][2] = { { 0, 1 },//向右走 { 1, 0 },//向下走 { ... 阅读全文
posted @ 2017-02-23 17:43 walanwalan 阅读(602) 评论(0) 推荐(0) 编辑
摘要: #include struct note { int x;//横坐标 int y;//纵坐标 }; char a[20][21];//用来存储地图 int getnum(int i, int j) { int sum, x, y; sum = 0;//sum用来计数(可以消灭的敌人数),需要初始化为0 //将坐标i,j复制到两个新变量x,y中,为了方便向上... 阅读全文
posted @ 2017-02-23 17:28 walanwalan 阅读(1011) 评论(0) 推荐(0) 编辑