HDU 2612 Find a way ——————BFS + 打表

手把手教你用P-MOS管搭建双电源自动切换电路(含AO3401选型指南) 本文提供了一份基于P-MOS管AO3401构建高可靠双电源自动切换电路的实战指南。文章详细对比了继电器、理想二极管与MOS管方案的优劣,深入解析了AO3401的关键参数选型,并手把手指导了从原理图设计、PCB布局到上电调试的全过程,旨在帮助硬件工程师和创客以极低成本实现无缝、高效的电源冗余方案。 阅读详情

Find a way

Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 24190    Accepted Submission(s): 7911


Problem Description
Pass a year learning in Hangzhou, yifenfei arrival hometown Ningbo at finally. Leave Ningbo one year, yifenfei have many people to meet. Especially a good friend Merceki.
Yifenfei’s home is at the countryside, but Merceki’s home is in the center of city. So yifenfei made arrangements with Merceki to meet at a KFC. There are many KFC in Ningbo, they want to choose one that let the total time to it be most smallest.
Now give you a Ningbo map, Both yifenfei and Merceki can move up, down ,left, right to the adjacent road by cost 11 minutes.
 

Input
The input contains multiple test cases.
Each test case include, first two integers n, m. (2<=n,m<=200).
Next n lines, each line included m character.
‘Y’ express yifenfei initial position.
‘M’    express Merceki initial position.
‘#’ forbid road;
‘.’ Road.
‘@’ KCF
 

Output
For each test case output the minimum total time that both yifenfei and Merceki to arrival one of KFC.You may sure there is always have a KFC that can let them meet.
 

Sample Input
  
4 4
Y.#@
….
.#..
@..M
4 4
Y.#@
….
.#..
@#.M
5 5
Y..@.
.#…
.#…
@..M.
#…#
 

Sample Output
  
66
88
66
 

Author
yifenfei
 

Source
 

Recommend
yifenfei   |   We have carefully selected several similar problems for you:   2717  1254  1728  2102  1072 
 

Statistic |  Submit |  Discuss | Note


我认为,M 能及经过 Y ,Y 也能到 M

用BFS寻找  Y or M   Y   o r   M 到每一个 @ @ 的最短距离
然后记录 Y 能到达每一个  @    @   的距离,用  cnt1[i][j]    c n t 1 [ i ] [ j ]   来记录,其中, i,j i , j ,是当前 @ @ 的坐标

然后记录 M 能到达每一个  @    @   的距离,用  cnt2[i][j]    c n t 2 [ i ] [ j ]   来记录,其中, i,j i , j ,是当前 @ @ 的坐标

找到之后遍历整张图

ans=0x3f3f3f3f;
for(int i=0;i<n;i++)
            for(int j=0;j<m;j++)
                if(str[i][j]=='@')
                    ans=min(ans,cnt1[i][j]+cnt2[i][j]);

CODE:

#include<bits/stdc++.h>
using namespace std;
const int MAXN=222;
char str[MAXN][MAXN];
bool vis[MAXN][MAXN];
int cnt1[MAXN][MAXN];
int cnt2[MAXN][MAXN];

int d[4][2]={1,0, -1,0, 0,1, 0,-1};
int n,m,sx,sy,yx,yy,mx,my;

struct node{
    int x,y,step;
    node(){};
    node(int _x,int _y,int _step)
    {
        x=_x; y=_y; step=_step;
    }
    bool operator <(const node &b)const
    {
        return step>b.step;
    }
};

void  bfs1(int x,int y)
{
    memset(vis,0,sizeof(vis));
    memset(cnt1,0x3f,sizeof(cnt1));//需要对其初始化为 INF 因为有可能一个能到,另外一个不能到
    vis[x][y]=1;
    priority_queue<node> que;
    que.push(node(x,y,0));
    node e1,e2;
    int ans=0;
    while(que.size())
    {
        e1=que.top();
        que.pop();
        if(str[e1.x][e1.y]=='@')
        {
            vis[e1.x][e1.y]=1;
            cnt1[e1.x][e1.y]=e1.step;//记录 Y 到 @ 的最小距离
        }
        for(int i=0;i<4;i++)
        {
            e2.x=e1.x+d[i][0];
            e2.y=e1.y+d[i][1];
            e2.step=e1.step+1;
            if(!vis[e2.x][e2.y] && str[e2.x][e2.y]!='#' && 0 <= e2.x && e2.x <n && 0 <= e2.y && e2.y <m)
            {
                vis[e2.x][e2.y]=1;
                que.push(e2);
            }
        }
    }
}
void  bfs2(int x,int y)
{
    memset(vis,0,sizeof(vis));
    memset(cnt2,0x3f,sizeof(cnt2));
    vis[x][y]=1;
    priority_queue<node> que;
    que.push(node(x,y,0));
    node e1,e2;
    int ans=0;
    while(que.size())
    {
        e1=que.top();
        que.pop();
        if(str[e1.x][e1.y]=='@')
        {
            vis[e1.x][e1.y]=1;
            cnt2[e1.x][e1.y]=e1.step;//记录 M 到 @ 的最小距离
        }
        for(int i=0;i<4;i++)
        {
            e2.x=e1.x+d[i][0];
            e2.y=e1.y+d[i][1];
            e2.step=e1.step+1;
            if(!vis[e2.x][e2.y] && str[e2.x][e2.y]!='#' && 0 <= e2.x && e2.x <n && 0 <= e2.y && e2.y <m)
            {
                vis[e2.x][e2.y]=1;
                que.push(e2);
            }
        }
    }
}
int main()
{
    while(~scanf("%d %d",&n,&m))
    {
        for(int i=0;i<n;i++)    scanf("%s",str[i]);
//        for(int i=0;i<n;i++)    printf("%s\n",str[i]);
        int ans=0x3f3f3f3f;
        for(int i=0;i<n;i++)
            for(int j=0;j<m;j++)
            {
                if(str[i][j]=='Y')
                    bfs1(i,j);
                if(str[i][j]=='M')
                    bfs2(i,j);
            }
        for(int i=0;i<n;i++)
            for(int j=0;j<m;j++)
                if(str[i][j]=='@')
                    ans=min(ans,cnt1[i][j]+cnt2[i][j]);
        printf("%d\n",ans*11);

    }
    return 0;
}
OpenCV-Python实战(11)——OpenCV轮廓检测相关应用 在计算机视觉领域,轮廓通常指图像中对象边界的一系列点。因此,轮廓通常描述了对象边界的关键信息,包含了有关对象形状的主要信息,该信息可用于形状分析与对象检测和识别。在本文中,我们将学习如何利用获取到的轮廓,进行形状分析以及对象检测和识别。 阅读详情

相关推荐

从STM32转战华大HC32F4A0:我的踩坑实录与10个USART的灵活配置心得

本文分享了从STM32迁移至华大HC32F4A0的实战经验,重点解析了10个USART的灵活配置技巧及常见问题解决方案。通过对比STM32F407,详细介绍了HC32F4A0在外设灵活性、IO功能组设计及多串口应用中的优势,帮助开发者快速掌握国产芯片的开发要点。

weixin_30514745的博客 525

【题解】HDU - 2612 Find a way BFS+打表

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2612 题目大意:Yifenfei和Merceki两个人约在了KFC见面,求他们各自分别从家里到哪个KFC距离之和最小 我的题解: 我一开始想都没想傻傻对每个KFC进行bfs,然后不负众望地t了好多次,真的是太蠢了 后来看了一下别人的做法,现在拿个小本本记下来,以后还遇到像这种需要记录多个位置的值的要拿...

替这位空想家惊讶 205

C51红外接收与发射控制及原理编码与解码

基于38khz的NEC协议红外发射简易电路图NEC协议产生红外光数据编码 0 1结合程序红外接收接收电路解码过程解码代码 红外发射 通过通过红外二极管发射红外光,三极管的状态来控制。 红外模块一般都是三个引脚,vcc,gnd,dat,通过控制dat口的来控制发射红外光。 简易电路图 将数据口连接到单片机的引脚为上,控制io口的电平状态,来控制三极管的导通状态,从而发射红外光。 NEC协议 NEC协议特点:8位地址和8位命令为提高可靠性,地址和命令都传输2次,脉冲间隔调制38kHz载波频率。 包含引导码,

yangfeng20的博客 1万+

hdu2612 Find a way--BFS & 打表

原题链接: http://acm.hdu.edu.cn/showproblem.php?pid=2612 一:分析 先打个表,把两个人到每个点的最小距离求出来,下面就好做了。 二:AC代码 #define _CRT_SECURE_NO_DEPRECATE #include #include #include using namespace std; #

半壶老酒 574

超详细MySQL 8.0安装与配置

MySQL的安装与配置 还不会安装MySQL的同学们,还不会配置MySQL的同学们,赶紧按照下面步骤操作起来,超详细安装步骤如下: 进入MySQL官网 1、点击download 2、点击MySQL Community Server 3、选好选项点击go to download page 4、点击download 5、点击no thanks,just start my download 6、选Server only,点击Next 7、点击Execute 8、点击

Turniper的博客 8759

Centos7网络配置(设置固定ip)

刚安装完系统,有的人尤其没有勾选自动网络配置的情况下,是访问不了外网的,本机也连不通虚拟机。或者现在有的是动态ip,几次之后启动ip地址就变了,会导致其他软件或程序之前连接配置要重新更改,很麻烦,下面讲解一下如何配置网络,如何设置成固定ip。

个人笔记git:https://gitee.com/tlangp/note.git 8054

HDU - 2612 - Find a way(BFS+打表)

题目链接 题意: 求2个点到KFC的距离之和,使其最小 题解: 可用2次BFS,分别求出2个点到各个KFC的最短距离,然后找出和最小的即可 AC代码: #include&lt;stdio.h&gt; #include&lt;string.h&gt; #include&lt;iostream&gt; #include&lt;queue&gt; #define inf 0xffffff usi...

Anoyer的博客 305

人工智能机器学习从入门到高级学习资料(含资料下载地址)

机器学习是一个技术含量较高的领域,高效学习需要多种途径相结合.以下是一些推荐的学习资源。首先介绍几个比较有用的社区,包含了丰富的学习资料

2401_86900375的博客 1648

HDU:2612 Find a way(双BFS+打表)

Find a way Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 10413    Accepted Submission(s): 3413 Problem Description Pass a year le

zugofn的博客 2128

【数字IC验证快速入门】26、SystemVerilog项目实践之AHB-SRAMC(6)(AHB-SRAMC SVTB Overview)

导读:作者有幸在中国电子信息领域的排头兵院校“电子科技大学”攻读研究生期间,接触到前沿的数字IC验证知识,旁听到诸如华为海思、清华紫光、联发科技等业界顶尖集成电路相关企业面授课程,对数字IC验证有了一些知识积累和学习心得。为帮助想入门前端IC验证的朋友,思忱一二后,特开此专栏,以期花最短的时间,走最少的弯路,学最多的IC验证技术知识。 文章目录一、内容概述二、AHB-SRAMC 验证计划 一、内容概述 AHB-SRAMC 验证计划 AHB-SRAMC 验证平台的架构图 AHB-SRAMC 验证平台的代.

悟已往之不谏 知来者之可追 2652

乐鑫科技 EchoEar 喵伴修改自定义唤醒词的方法 EchoEar喵伴、唤醒词修改、ESP32、AI萌宠、智能音箱、开发者指南

标签:乐鑫科技、EchoEar喵伴、唤醒词修改、ESP32、AI萌宠、智能音箱、开发者指南大家好,我是一名前端开发工程师,最近在玩乐鑫科技推出的时,发现它不仅萌趣十足,还能进行全双工语音交互、多模态识别,甚至能识别你的情绪和与你互动。EchoEar 喵伴是由乐鑫科技和火山引擎扣子大模型团队合作开发的,它使用乐鑫的芯片方案(ESP32 系列)+ 火山引擎扣子大模型,支持 WiFi 连接和本地处理,长记忆能力可以让它记住用户的偏好与习惯。

代码简单说 Vue、JAVA、PHP、Node.js 熟练运用,接口、架构、性能全搞定。 1890

HDU2612 Find a way BFS

Find a way Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 28250 Accepted Submission(s): 9128 Problem Description Pass a year learning in Ha...

DouglasConnor的博客 299

调用魔搭API出现Please bind your Alibaba Cloud account before use的解决方案

本文主要介绍了调用魔搭API出现Please bind your Alibaba Cloud account before use解决方案,希望能对使用大模型的同学们有所帮助。 文章目录 1. 问题描述 2. 解决方案

weixin_43178406的博客 3万+

HDU 2612 Find a way 多起点 多终点 BFS

N - Find a way Time Limit:1000MS    Memory Limit:32768KB    64bit IO Format:%I64d & %I64u SubmitStatusPracticeHDU 2612 Description Pass a year learning in Hangzhou, yifenfei arrival hom

colorfulshark 1001

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

HDU 2612 Find a way(BFS)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2612 题目大意:给你一张n*m的图,图上有两个点Y、M,和若干个点@,找出某个点@使Y、M到这里的距离之和最小,并求出距离。 解题思路:BFS,求出Y、M到各个@的最小距离存下来,最后枚举各个@找出最小距离和即可。 代码: 1 #include<cstdio> ...

weixin_30578677的博客 78

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

HDU 2612 Find a way(bfs : 两起点到同一终点的最小步数,终点不唯一)

Find a wayTime Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 21520    Accepted Submission(s): 6988Problem DescriptionPass a year learning in Hangzh...

BBHHTT的博客 538

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

hdu 2612 Find a way (BFS)

题意:一张地图,两个人要去KFC见面,但是KFC有很多,他们想找一个让双方走的步数最小的KFC,然后输出步数。 题解:这道题有点小坑,就是如果你把所有的KFC的坐标存起来,然后多次进行双向的BFS的话,会时间超限。所以这道题应该用一下类似于打表的思想,让两个人只跑一遍图,然后记录,每个人到地图的每个位置的步数,然后在遍历地图去找步数最小的KFC。详情看代码注释。 #include #inclu

PK__PK的博客 288

Find a way(hdu 2612) (两次bfs)

Find a way Time Limit : 3000/1000ms (Java/Other)   Memory Limit : 32768/32768K (Java/Other) Total Submission(s) : 15   Accepted Submission(s) : 5 Font: Times New Roman | Verdana | Georgia Font Siz...

代码行 215

P1101 单词方阵——————暴力或者DFS

P1101 单词方阵 题目描述 给一n \times nn×n的字母方阵,内可能蕴含多个“yizhong”单词。单词在方阵中是沿着同一方向连续摆放的。摆放可沿着 88 个方向的任一方向,同一单词摆放时不再改变方向,单词与单词之间可以交叉,因此有可能共用字母。输出时,将不是单词的字母用*代替,以突出显示单词。例如: 输入: 8 输出: qyiz...

鸿杰 的博客 668

HDU - 1312 Red and Black————搜索

There is a rectangular room, covered with square tiles. Each tile is colored either red or black. A man is standing on a black tile. From a tile, he can move to one of four adjacent tiles. But he can’...

鸿杰 的博客 468

FZU 2107 Hua Rong Dao——————DFS

Hua Rong Dao Accept: 523 Submit: 1086 Time Limit: 1000 mSec Memory Limit : 32768 KB Problem Description Cao Cao was hunted down by thousands of enemy soldiers when he escaped from Hua Rong Dao. ...

鸿杰 的博客 429

Codefoces 977E - Cyclic Components——————dfs

Cyclic Components You are given an undirected graph consisting of n vertices and m edges. Your task is to find the number of connected components which are cycles. Here are some definitions of graph t...

鸿杰 的博客 412

POJ 3009 Curling 2.0——————dfs

Curling 2.0 今年的奥运会之后,在行星mm-21上冰壶越来越受欢迎。但是规则和我们的有点不同。这个游戏是在一个冰游戏板上玩的,上面有一个正方形网格。他们只用一块石头。游戏的目的是让石子从起点到终点,并且移动的次数最小 图1显示了一个游戏板的例子。一些正方形格子可能被砖块占据。有两个特殊的格子,起始点和目标点,这是不占用块。(这两个方块是不同的)一旦石头开始移动就不会停下,除非它击中砖块块...

鸿杰 的博客 398

HDU 1241 Rescue ——————BFS , 优先队列

RescueTime Limit: 2000/1000 MS (Java/Others)&nbsp;&nbsp;&nbsp;&nbsp;Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 37778&nbsp;&nbsp;&nbsp;&nbsp;Accepted Submission(s): 13101Problem Desc...

鸿杰 的博客 388

HDU 1372 Knight Moves——————BFS , 优先队列

Knight MovesTime Limit: 2000/1000 MS (Java/Others)&nbsp;&nbsp;&nbsp;&nbsp;Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 13742&nbsp;&nbsp;&nbsp;&nbsp;Accepted Submission(s): 8060Problem...

鸿杰 的博客 358

POJ 2186 Popular Cows——————(Kosaraju求强连通分量,缩点)

Popular Cows Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 42216 Accepted: 17135 Description Every cow’s dream is to become the most popular cow in the herd. In a herd of N (1 <= N &...

鸿杰 的博客 341
上一篇: HDU 1372 Knight Moves——————BFS , 优先队列
下一篇: POJ 2251 Dungeon Master ——————BFS
陶鸿杰
博客等级 码龄9年 93粉丝 298原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值