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

#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. HQL的一些语句总结

    HQL原文来自:http://slaytanic.blog.51cto.com/2057708/782175/   Slaytanic老师 关于Hadoop的介绍来自:http://www.cnblo ...

  2. 初涉Linux ----------> 打造自己的 Vim IDE

    一.  开篇前言 (图片显示越界的话,请刷新) 装好Ubuntu15.04系统之后呢,玩了玩 Ubuntu,感觉还是很不错的.比windows快,一开机就可以打开你想要的程序,但是在windows下你 ...

  3. Android gdb 调试

    [1].终端目录设置到: proj.android[2].make文件的编译选项加上: -g -gstabs+[3].执行编译脚本: sh ./build_native.sh NDK_DEBUG=1[ ...

  4. Sql server2012连接Sql server 2008时出现的问题:已成功与服务器建立连接,但在登陆过程中发生错误。(provider:SSL Provider,error:0-接收到的消息异常,或格式不正确。)

    以前连接是正常的,就这两天连不上了.(没有耐心的直接看末尾解决办法) 错误消息如下: 1.尝试读取或写入受保护的内存.这通常指示其他内存已损坏.(System.Data) 2.已成功与服务器建立连接, ...

  5. GTAC 2015 Schedule

    之前发的GTAC 2015将于11月10号和11号召开 现在时刻表也出来啦 https://developers.google.com/google-test-automation-conferenc ...

  6. POJ2157Maze[DFS !]

    Maze Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 3818   Accepted: 1208 Description ...

  7. 08章 分组查询、子查询、原生SQL

    一.分组查询 使用group by关键字对数据分组,使用having关键字对分组数据设定约束条件,从而完成对数据分组和统计 1.1 聚合函数:常被用来实现数据统计功能 ① count() 统计记录条数 ...

  8. bzoj1036 [ZJOI2008]树的统计Count

    1036: [ZJOI2008]树的统计Count Time Limit: 10 Sec  Memory Limit: 162 MB Submit: 12646  Solved: 5085 [Subm ...

  9. javascript按回车键触发事件

    <form id="search-form" > <input type="text" onkeypress="getKey();r ...

  10. 集合中Set接口与Collection接口,常用子类TreeSet,HashSet.

    Set接口与List接口的不同之处在于: 不允许有重复的数据. 定义如下: public interface Set<E>extends Collection<E> 主要方法与 ...