步骤

代码

#include <iostream>
#include <cstring>
#include <algorithm>
#include <queue>
using namespace std;
typedef pair<int, int> PII;
const int N=220;
char g[N][N];
int dist[N][N];
int bfs(int n,int m,PII st,PII ed){queue<PII> q;memset(dist,-1,sizeof dist);q.push(st);dist[st.first][st.second]=0;int dx[4] = {-1, 0, 1, 0}, dy[4] = {0, 1, 0, -1};while(q.size()){auto t=q.front();q.pop();for(int i=0;i<4;i++){int x=t.first+dx[i];int y=t.second+dy[i];if(x<1||x>n||y<1||y>m)continue;//出边界if(dist[x][y]!=-1)continue;//已经访问if(g[x][y]=='#')continue;//不能走dist[x][y]=dist[t.first][t.second]+1;if(g[x][y]=='E')return dist[x][y];q.push({x,y});}}return -1;
}
int main(){int t;cin >> t ;while(t--){int n,m;cin >> n >> m;PII st,ed;for(int i=1;i<=n;i++){for(int j=1;j<=m;j++){cin >> g[i][j];if(g[i][j]=='E')ed={i,j};if(g[i][j]=='S')st={i,j};}}int ans=bfs(n,m,st,ed);if(ans==-1){cout << "oop!\n";}else{cout << ans << "\n";}}
}

Acwing1101. 献给阿尔吉侬的花束相关推荐

  1. 信息学奥赛一本通(1256:献给阿尔吉侬的花束)

    1256:献给阿尔吉侬的花束 时间限制: 1000 ms         内存限制: 65536 KB 提交数: 7427     通过数: 3067 [题目描述] 阿尔吉侬是一只聪明又慵懒的小白鼠, ...

  2. 1256:献给阿尔吉侬的花束

    1256:献给阿尔吉侬的花束 时间限制: 1000 ms         内存限制: 65536 KB 提交数: 9651     通过数: 4023 [题目描述] 阿尔吉侬是一只聪明又慵懒的小白鼠, ...

  3. 信息学奥赛一本通 1256:献给阿尔吉侬的花束 | OpenJudge NOI 2.5 7218:献给阿尔吉侬的花束

    [题目链接] ybt 1256:献给阿尔吉侬的花束 OpenJudge NOI 2.5 7218:献给阿尔吉侬的花束 [题目考点] 1. 广搜 迷宫问题 [解题思路] 广搜,迷宫问题模板题. 设结构体 ...

  4. 1101. 献给阿尔吉侬的花束

    1101. 献给阿尔吉侬的花束 阿尔吉侬是一只聪明又慵懒的小白鼠,它最擅长的就是走各种各样的迷宫. 今天它要挑战一个非常大的迷宫,研究员们为了鼓励阿尔吉侬尽快到达终点,就在终点放了一块阿尔吉侬最喜欢的 ...

  5. AcWing 1101. 献给阿尔吉侬的花束【BFS】

    题目链接:AcWing 1101. 献给阿尔吉侬的花束 阿尔吉侬是一只聪明又慵懒的小白鼠,它最擅长的就是走各种各样的迷宫. 今天它要挑战一个非常大的迷宫,研究员们为了鼓励阿尔吉侬尽快到达终点,就在终点 ...

  6. #009#献给阿尔吉侬的花束

    前言 日志,各位看官就当乐子看吧. 正经人谁写日记啊?!! --鹅城县长 不用想乱七八糟的,写就完事儿了.今天没背八股文.(确实是因为看不下去题,没成就感) VideosTV 地址:https://g ...

  7. 【蓝桥杯练习--BFS】1101. 献给阿尔吉侬的花束

    1101. 献给阿尔吉侬的花束 ps:你敢信,这长长的代码就是大佬口中很简单地.非常惬意地写出来的,我也想拥有这种惬意呜呜呜呜 大佬说这种题是有规律的 我要开始找了 本题中的状态就是每个单独的格子 思 ...

  8. BFS-Acwing-1101. 献给阿尔吉侬的花束

    BFS-Acwing-1101. 献给阿尔吉侬的花束 题目: 阿尔吉侬是一只聪明又慵懒的小白鼠,它最擅长的就是走各种各样的迷宫. 今天它要挑战一个非常大的迷宫,研究员们为了鼓励阿尔吉侬尽快到达终点,就 ...

  9. AcWing 1101. 献给阿尔吉侬的花束

    AcWing 1101. 献给阿尔吉侬的花束 题目链接 题目描述 阿尔吉侬是一只聪明又慵懒的小白鼠,它最擅长的就是走各种各样的迷宫. 今天它要挑战一个非常大的迷宫,研究员们为了鼓励阿尔吉侬尽快到达终点 ...

最新文章

  1. 语言舒尔特方格程序_注意力训练神器——舒尔特方格(成人、孩子均适用)
  2. php使用strstr函数 ,判断字符串A中是否含有字符串B
  3. python shelve模块_python3 shelve模块的详解
  4. [vue] 分别说说vue能监听到数组或对象变化的场景,还有哪些场景是监听不到的?无法监听时有什么解决方案?
  5. mysql连接池 golang_Golang 你一定要懂的连接池
  6. Python天天美味(21) - httplib,smtplib
  7. Express--socket.io使用session验证
  8. java xfire指定参数名_Java如何获取方法参数具体名称?这是个好问题!
  9. Linux下的字符界面扫雷游戏
  10. pip 换清华源 更新所有库 windows
  11. Win10右键新建中没有新建文件夹,电脑右键新建文件夹不见了
  12. 将图片背景处理为透明的方法步骤
  13. 数据库的基本语句(mysql举例)
  14. python win32转pdf 横版_.doc使用python转换为pdf
  15. The Porter Stemming Algorithm
  16. Android Error while Launching activity
  17. 本白痴的第一个博客(就把自己的图形界面加c语言的滴滴打车信息系统传一下吧)
  18. python离线安装第三方包
  19. Python网络数据采集知识点
  20. base64转图片,浏览器前面加

热门文章

  1. 2013年10月微软MVP申请开始了
  2. Mybatis学习3之配置
  3. 罗大佑十年磨一剑,《美丽岛》正式发行
  4. upc 8377: Playoff(搜索-dfs)
  5. matlab中sub2ind方法的使用
  6. JZOJ 6316.djq的朋友圈【状压】
  7. 【学习总结Day32】
  8. matlab组合排列数,MATLAB中常用的排列、组合、阶乘函数
  9. jsp之JavaBean入门
  10. 解决git pull等操作需要输入密码问题