1211 Problem C 营救

2023-05-16

营救

题目描述

        铁塔尼号遇险了!他发出了求救信号。距离最近的哥伦比亚号收到了讯息,时间就是生命,必须尽快赶到那里。

        通过侦测,哥伦比亚号获取了一张海洋图。这张图将海洋部分分化成n*n个比较小的单位,其中用1标明的是陆地,用0标明是海洋。船只能从一个格子,移到相邻的四个格子。

       为了尽快赶到出事地点,哥伦比亚号最少需要走多远的距离。

输入

第一行为n,下面是一个n*n的0、1矩阵,表示海洋地图

最后一行为四个小于n的整数,分别表示哥伦比亚号和铁塔尼号的位置。

输出

输出哥伦比亚号到铁塔尼号的最短距离,答案精确到整数。

样例输入


3
001
101
100
1 1 3 3  

样例输出


4  

提示
N<=1000

#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int a[1005][1005],n,xx,yy,que[1000010][3],dx[4]={0,0,1,-1},dy[4]={1,-1,0,0};
char b[1005];
void search(int ,int );
int main()
{
    while(scanf("%d\n",&n)!=EOF)
    {
        int i,j,x,y;
        memset(a,0,sizeof(a));
        memset(que,0,sizeof(que));
        for(i=1;i<=n;i++)
        {
            gets(b);
            for(j=1;j<=n;j++)
            a[i][j]=b[j-1]-'0';
        }
        scanf("%d%d%d%d",&x,&y,&xx,&yy);
        if(x==xx&&y==yy) printf("0");
        else search(x,y);
    }
    return 0;
}
void search(int x,int y)
{
    int head=0,tail=1;
    que[1][0]=x; que[1][1]=y; que[1][2]=0; a[x][y]=1;
    while(head<tail)
    {
        head++;
        for(int i=0;i<4;i++)
        {
            x=que[head][0]+dx[i]; y=que[head][1]+dy[i];
            if(!a[x][y]&&x>0&&x<=n&&y>0&&y<=n)
            {
                tail++;
                que[tail][0]=x;
                que[tail][1]=y;
                a[x][y]=que[tail][2]=que[head][2]+1;
                if(a[xx][yy]>0)
                {
                    printf("%d\n",a[xx][yy]);
                    return;
                }
            }
        }
    }
}

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

1211 Problem C 营救 的相关文章

随机推荐

  • Windows系统下,Ubuntu安装至移动硬盘(简单分析与详细安装教程)

    前期说明 博主因学业要求 xff0c 需要同时使用Windows系统与Linux系统 xff0c 故而考虑安装双系统 但个人电脑硬盘仅剩100G左右大小 xff0c 安装双系统可能导致硬盘容量不足 xff0c 恰好博主手中有个空闲的移动硬盘
  • QT开发学习4(远程调试 Qt 程序)

    2 5 1 rsync 方式 Qt 远程调试 在 Qt Creator 中默认情况下 xff0c 会使用 sftp 或 rsync 发送程序到板卡 由于正点原子 I MX6 U 出厂 Qt 文件系统 xff08 文件系统 V1 9 及之后的
  • 使用 python requests 模块发送 http 请求及接收响应

    内容概要 如何构建GET 与 POST request 请求消息对 request 的header query string message body 定制化http header参数 content type 的设置分析request r
  • 汇编.section和.text以及入口地址解释

    section data 汇编程序中以 开头的名称并不是指令的助记符 xff0c 不会被翻译成机器指令 xff0c 而是给汇编器一些特殊指示 xff0c 称为汇编指示 xff08 Assembler Directive xff09 或伪操作
  • Linux - 配置Linux用户的环境变量- Anaconda3的环境变量配置

    目录 临时生效变量环境变量的分类 xff08 永久生效 xff09 如何让某个命令永久生效环境变量配置文件的运行顺序参考链接 Linux 操作系统的环境变量 xff0c 看似很复杂 xff0c 其实不然 我们通常用到的Windows 操作系
  • 兔子繁殖问题

    首先读懂题目 xff0c 知道运算规律后在使用斐波那契数列九很好解决啦 7 26 兔子繁殖问题 10 分 已知有一对兔子 xff0c 每个月可以生一对兔子 xff0c 而小兔子一个月后又可以生一对小兔子 比如 2月份出生的小兔子4月份可以生
  • 华为Atlas200DK环境配置指南(版本20.0.0)

    官方参考文档 https support huaweicloud com usermanual A200dk 3000 atlas200dk 02 0024 html 务必保证配置时版本 20 0 0 一致 1 配置开发环境 自己电脑 若不
  • 软件工程(速成)——第三章 需求分析

    一 需求分析 1 需求分析的概念与任务 xff1a 需求分析是软件定义时期的最后一个阶段 xff0c 它的基本任务是准确地回答 系统必须做什么 这个问题 二 分析建模与规格说明 需求分析应该建立三种模型 xff1a 数据模型 功能模型 行为
  • Pytorch 深度学习实战:视频自动打码

    点击上方 小白学视觉 xff0c 选择加 34 星标 34 或 置顶 重磅干货 xff0c 第一时间送达 人脸识别 人脸识别是一门比较成熟的技术 它的身影随处可见 xff0c 刷脸支付 xff0c 信息审核 xff0c 监控搜索 xff0c
  • 基于深度学习的视觉目标跟踪方法

    点击上方 小白学视觉 xff0c 选择加 34 星标 34 或 置顶 重磅干货 xff0c 第一时间送达 以前写过一个 自动驾驶中的目标跟踪 介绍 xff0c 这次重点放在深度学习和摄像头数据方面吧 先提一下以前说的那篇综述 xff1a 3
  • 递归解决赶鸭子问题,角骨定理

    一 题目分析 用递归方法设计下列各题 xff0c 并给出每道题目的递归出口 xff08 递归结束的条件 xff09 和递归表达式 同时考虑题目可否设计为非递归方法 xff0c 如果可以 xff0c 设计出非递归的算法 1 一个人赶着鸭子去每
  • 最详细ubuntu16.04安装nvidia显卡驱动(完全无经验小白教程)

    ubuntu16 04安装nvidia显卡驱动 1 禁用nouveau ubuntu 16 04默认安装了第三方开源的驱动程序nouveau xff0c 安装nvidia显卡驱动首先需要禁用nouveau xff0c 不然会碰到冲突的问题
  • 修改ssh端口重启服务报错error: Bind to port 8822 on :: failed: Permission denied

    root 64 BabyishRecent VM vi etc ssh sshd config root 64 BabyishRecent VM systemctl restart sshdJob for sshd service fail
  • Linux之iptables(一、防火墙的概念)

    Linux之iptables 一 防火墙的概念 防火墙的概念 一 安全技术 入侵检测与管理系统 xff08 Intrusion Detection Systems xff09 xff1a 特点是不阻断任何网络访问 xff0c 量化 定位来自
  • Python调用海康SDK对接摄像机

    以前做过的项目都是通过 ffmpeg c 43 43 来捕获摄像机的 RSTP 视频流来处理视频帧 xff0c 抽空看了一下海康的SDK说明 xff0c 使用 python ctypes方式a实现了对海康SDK DLL的调用 可以进行视频预
  • 数码管点亮顺序——有错请纠正

    找了半天没有找到 xff0c 自己试了几个数试出来了 xff0c 记这个顺序图比记编码表要快些
  • css-input的美化

    原装input很丑陋 xff0c 我们需要人工对其进行装饰才能好看哦 xff01 首先取消选中时的蓝色外边框 xff1a outline style none 若你想取消外边框 xff1a border xff1a 0 或 border x
  • echarts-横向柱状图的左侧文字左对齐设置

    在需要左对齐的Y轴中这样设置 xff0c 设置完后会发现 xff0c 文字跟圆柱重合覆盖 xff08 跟你需要的位置有区别 xff09 yAxis axisLabel margin 80 textStyle align 39 left 39
  • 12108 - Extraordinarily Tired Students(特别困的学生)

    题目 xff1a When a student is too tired he can t help sleeping in class even if his favorite teacher is right here in front
  • 1211 Problem C 营救

    营救 题目描述 铁塔尼号遇险了 xff01 他发出了求救信号 距离最近的哥伦比亚号收到了讯息 xff0c 时间就是生命 xff0c 必须尽快赶到那里 通过侦测 xff0c 哥伦比亚号获取了一张海洋图 这张图将海洋部分分化成n n个比较小的单