DFS【模板】 宝岛探险

标题:宝岛探险
标签:搜索深度优先搜索广度优先搜索
详情:
小哼通过秘密方法得到一张不完整的钓鱼岛航拍地图。钓鱼岛由一个主岛和一些附属岛屿组成,小哼决定去钓鱼岛探险。下面这个10*10的二维矩阵就是钓鱼岛的航拍地图。图中数字表示海拔,0表示海洋,1~9都表示陆地。小哼的飞机将会降落在(6,8)处,现在需要计算出小哼降落所在岛的面积(即有多少个格子)。注意此处我们把与小哼降落点上下左右相链接的陆地均视为同一岛屿。
1
2
1
0
0
0
0
0
2
3
3
0
2
0
1
2
1
0
1
2
4
0
1
0
1
2
3
2
0
1
3
2
0
0
0
1
2
4
0
0
0
0
0
0
0
0
1
5
3
0
0
1
2
1
0
1
5
4
3
0
0
1
2
3
1
3
6
2
1
0
0
0
3
4
8
9
7
5
0
0
0
0
0
3
7
8
6
0
1
2
0
0
0
0
0
0
0
0
1
0
输入格式:
一行4个整数,前两个整数表示n行m列,后两个整数表示降落的坐标x行y列
输出格式:
一个整数表示岛屿的面积
限制:n<=100
m<=100
样例:

输入

10 10 6 8
1 2 1 0 0 0 0 0 2 3
3 0 2 0 1 2 1 0 1 2
4 0 1 0 1 2 3 2 0 1
3 2 0 0 0 1 2 4 0 0
0 0 0 0 0 0 1 5 3 0
0 1 2 1 0 1 5 4 3 0
0 1 2 3 1 3 6 2 1 0
0 0 3 4 8 9 7 5 0 0
0 0 0 3 7 8 6 0 1 2
0 0 0 0 0 0 0 0 1 0

输出

38

题解:

#include <iostream>
#include <cstdio>
#include <cstring>
#include <cmath>
#include <algorithm>
#include <vector>
#include <set>
#include <map>
using namespace std;
int ans=1;
int a[110][110];
int n,m;
int dir[4][2]={0,1,-1,0,0,-1,1,0};
int vis[110][110];
void dfs(int x,int y){
    for(int i=0;i<4;i++){
        int tx=x+dir[i][0];
        int ty=y+dir[i][1];
        if(tx<=0||tx>n||ty<=0||ty>m){
            continue;
        }
        if(!vis[tx][ty]&&a[tx][ty]>0){
            vis[tx][ty]=1;
            ans++;
            a[tx][ty]=-1;
            dfs(tx,ty);
        }
    }
    return;
}
int main()
{
    int sx,sy;
    scanf("%d %d %d %d",&n,&m,&sx,&sy);
    for(int i=1;i<=n;i++){
        for(int j=1;j<=m;j++){
            scanf("%d",&a[i][j]);
        }
    }
    memset(vis,0,sizeof vis);
    vis[sx][sy]=1;
    dfs(sx,sy);
    printf("%d\n",ans);
    return 0;
}


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
7D互动游戏影院引领先锋-深圳精敏数字JMDMdoc,7D互动影院升级常见问题回答:问题1、假如的5D影院升级成7D需要更换那些东西?答:需要3部分:1、JMDM 7D互动娱乐系统:5D动感平台需要加装JMDM 7D互动枪及收发配件;投影机正前方需要安装红外定位头两个。2、JMDM 7D动感座椅与特效控制系统:原来使用JMDM系列控制系统的,可以平滑升级7D,实现完美向下兼容5D座椅和特效,向上兼容7D互动游戏。3、主动投影播放系统:投影机需要换成主动式的投影机,眼镜也需要换成主动式眼镜;电脑上面需要安装WIN7系统,和JMDM 7D游戏软件。问题2:贵公司的7D互动娱乐影院包括那些东西?   答:1、JMDM 7D互动娱乐系统: 7D互动影片、7D互动枪及收发配件、JMDM 7D互动游戏控制软件(包含加密狗2个)、红外定位头。2、JMDM 7D动感座椅与特效控制系统:JMDM 7D控制器、控制软件即加密狗;3、主动投影播放系统:主动投影仪1台、主动3D眼镜6副、WIN7系统的电脑1台。4、1个5D动感平台6座座椅。问3:贵公司的7D互动影片总计有多少部? 答:我公司的7D互动影片目前有3部,分别是决战钓鱼岛 ,潘多拉星球之战,,恐怖鬼屋 。凡购买我们公司7D系统的客户,我公司均会在一年内免费提供2部影片。问4:安装7D控制系统后还能继续放5D电影吗? 答:可以。我公司特有的7D控制系统向下兼容5D、4D影院,使你的5D动感影院即可玩7D动感影院。又可播放5D电影。我公司还可提供更多的5D影片和动作文件。问5:7D电影和5D电影最大的不同点是? 7D电影和5D电影最大的不同是你既是电影的观看者,又是电影的的参入者;你既可感受立体动感电影的惊险,又可提互动装备和电影里面角色进行作战,也可和亲朋好友共同作战,共享成功。你成了电影里的一份子,你就是主角!脉搏随着画面跳动,心跳和着7D互动枪扫射的节拍...问6:7D影片多少钱一部?答:7D影片不单独卖,这个是随一套7D互动系统及动感座椅一起工作的,不能单独工作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值