题目链接:这是一道水爆了的广搜题

#include<iostream>
#include<stdio.h>
#include<algorithm>
#include<string.h>
using namespace std;
 * 1e5 + ;
typedef long long ll;
#define re(i,n) for(int i=0;i<n;i++)
][];
][];
int n, m;
int sx, sy;
struct Point{
    int x, y;
};
struct Q{
    Point a[];
    int h, r;
    ; }
    void enq(int x, int y){
        a[r].x = x, a[r].y = y, r++;
    }
    Point deq(){
        return a[h++];
    }
}q;
][] = {,,,,,-,-,};
void go(){
    memset(b, -, sizeof(b));
    b[sx][sy] = ;
    q.init();
    q.enq(sx, sy);
    while (q.h != q.r){
        Point me = q.deq();
        re(i, ){
            ], y = me.y + dir[i][];
            )continue;
            if (a[x][y] == '.'){
                b[x][y] = b[me.x][me.y] + ;
                q.enq(x, y);
            }
            else if (a[x][y] == 'S'){
                b[x][y] =  b[me.x][me.y] + ;
            }
        }
    }
}
int main(){
    freopen("in.txt", "r", stdin);
    cin >> n >> m;
    re(i, n)re(j, m){
        cin >> a[i + ][j + ];
        ][j + ] == ][j + ] = '#';
        ][j + ] == 'H'){
            sx = i + , sy = j + ;
            a[sx][sy] = '.';
        }
    }
    re(i, n + )a[i][m + ] = a[i][] = '#';
    re(i, m + )a[][i] = a[n + ][i] = '#';
    go();/*
    re(i, n + 1){
        re(j, m + 1){
            printf("%3d", b[i][j]);
        }
        puts("");
    }*/
    int ans = 1e5;
    ; i <= n; i++){
        ; j <= m; j++){
            if (a[i][j] == 'S'){
                )continue;
                re(k, ){
                    ], y = j + dir[k][];
                    if (a[x][y] == 'S'){
                        ){
                            int now = b[x][y] + b[i][j];
                            ans = min(now, ans);
                        }
                    }
                }
            }
        }
    }
    if (ans == 1e5){
        puts("Hi and Ho will not have lunch.");
    }
    else{
        printf("%d\n", ans);
    }
    ;
}

hiho一下 第六十六周的更多相关文章

  1. 第三百六十六节,Python分布式爬虫打造搜索引擎Scrapy精讲—elasticsearch(搜索引擎)的bool组合查询

    第三百六十六节,Python分布式爬虫打造搜索引擎Scrapy精讲—elasticsearch(搜索引擎)的bool组合查询 bool查询说明 filter:[],字段的过滤,不参与打分must:[] ...

  2. “全栈2019”Java第六十六章:抽象类与接口详细对比

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...

  3. 《手把手教你》系列技巧篇(六十六)-java+ selenium自动化测试 - 读写excel文件 - 上篇(详细教程)

    1.简介 在自动化测试,有些我们的测试数据是放到excel文件中,尤其是在做数据驱动测试的时候,所以需要懂得如何操作获取excel内的内容.由于java不像python那样有直接操作Excle文件的类 ...

  4. hihoCoder hiho一下 第四十六周 博弈游戏·Nim游戏·三( sg函数 )

    题意: 给出几堆石子数量,每次可以取走一堆中任意数量的石头,也可以将一堆分成两堆,而不取.最后取走者胜. 思路: 先规矩地计算出sg值,再对每个数量查SG值就可以了.最后求异或和.和不为0的就是必赢. ...

  5. FastAPI(六十六)实战开发《在线课程学习系统》接口开发--用户注册接口开发

    在前面我们分析了接口的设计,那么我们现在做接口的开发. 我们先去设计下pydantic用户参数的校验 from pydantic import BaseModel from typing import ...

  6. hihoCoder hiho一下 第四十八周 题目1 : 拓扑排序·二

    题意: 给定一个拓扑图,其中部分结点含有1个病毒,每个结点只要收到病毒就会立即往出边所能到达的点传播,病毒数可叠加,求所有结点的病毒数总和. 思路: 根据拓扑的特点,每个入度为0的点肯定不会再被传播病 ...

  7. 第六十六篇、OC_Sqlite数据库操作

    #import <Foundation/Foundation.h> #import <sqlite3.h> #define kFilename @"data.sqli ...

  8. 第六十六节,htnl音频视频

    htnl音频视频 学习要点:     1.音频和视频概述     2.video视频元素     3.audio音频元素 本章主要探讨HTML5中音频和视频元素,通过这两个原生的媒体元素向HTML页面 ...

  9. salesforce 零基础学习(六十六)VF页面应善于使用变量和函数(二)常用函数的使用

    上一篇介绍VF中常用的变量,此篇主要内容为VF页面可以直接使用的函数,主要包括Date相关函数,Text相关函数,Information相关函数以及logic相关函数,其他相关函数,比如math相关函 ...

随机推荐

  1. 【零基础学习iOS开发】【转载】

    原文地址:http://www.cnblogs.com/mjios/archive/2013/04/24/3039357.html 本文目录 一.什么是iOS 二.主流手机操作系统 三.什么是iOS开 ...

  2. 白话debounce和throttle

    遇到的问题 在开发过程中会遇到频率很高的事件或者连续的事件,如果不进行性能的优化,就可能会出现页面卡顿的现象,比如: 鼠标事件:mousemove(拖曳)/mouseover(划过)/mouseWhe ...

  3. VMworld 2015 感受:VMware “Ready For Any”

    今年有机会参加在旧金山举行的 VMworld 2015.今天是正式开始的第一天.争取每天写一篇文章分享所见所听所感.第一天的主要活动,包括上午的 General Session,由 VMware 的几 ...

  4. 编译Ansj之Solr插件

    Ansj是一个比较优秀的中文分词组件,具体情况就不在本文介绍了.ansj作者在其官方代码中,提供了对lucene接口的支持.如果用在Solr下,还需要简单的扩展一下. 1.基于maven管理 ansj ...

  5. eclipse乱码解决方法

    eclipse之所以会出现乱码问题是因为eclipse编辑器选择的编码规则是可变的.一般默认都是UTF-8或者GBK,当从外部导入的一个工程时,如果该工程的编码方式与eclipse中设置的编码方式不同 ...

  6. 【一周读书】All life is problem solving

    书籍:<开放的智力> 采铜是我在知乎关注最早的大V之一,那时我脑里有一大堆疑惑和问题,是他的答案帮助我理清了思绪.我从他身上学习到对书籍的爱好,对思维方法的关注,对智慧的向往.读这本小集子 ...

  7. UVa 297 Quadtrees -SilverN

    A quadtree is a representation format used to encode images. The fundamental idea behind the quadtre ...

  8. ANE接入平台心得记录(安卓)

    开发环境:FlashBuilder4.7 AIR13.0 Eclipse 由于我懒得陪安卓的开发环境所以我下载了包含安卓SDK Manager的Eclipse,其实直接用FlashBuilder开发A ...

  9. uboot 移植遇到的问题及解决方法(转)

    http://blog.sina.com.cn/s/blog_988ec60801017iy3.html 一  在commond  env_nand.c: In function 'saveenv': ...

  10. java 27 - 3 反射之 通过反射获取构造方法并使用

    类 Constructor<T>:提供关于类的单个构造方法的信息以及对它的访问权限. 通过反射的方法获取构造方法并使用  ps:先忽略泛型 A.1:获取构造方法的数组: public Co ...