不用循环队列会T

#include<bits/stdc++.h>
using namespace std;
const int N=1000;
const int M=1e6+100;
char g[N][N];
struct P{int x,y,t;
};
int dx[4]={0,0,1,-1};
int dy[4]={1,-1,0,0};
int n,k;
bool st[N][N];
P q[M];
int hh,tt;
bool check(int x,int y,int shike){int m=2;if(shike>=k&&shike<2*k) m=1;else if(shike>=2*k) m=0;if(x-m<1||x+m>n||y-m<1||y+m>n) return false;for(int i=x-m;i<=x+m;i++){for(int j=y-m;j<=y+m;j++){if(g[i][j]=='*') return false;}}return true;
}
int bfs(){//queue<P> q;P u={3,3,0};//q.push(u);q[tt++]=u;if(tt==M) tt=0;st[3][3]=1;while(hh!=tt){//u=q.front();u=q[hh++];if(hh==M) hh=0;//q.pop();P e={u.x,u.y,u.t+1};//q.push(e);q[tt++]=e;if(tt==M) tt=0;for(int i=0;i<4;i++){int x=u.x+dx[i];int y=u.y+dy[i];if(st[x][y]) continue;if(!check(x,y,u.t)) continue;if(x==n-2&&y==n-2) return u.t+1;P b={x,y,u.t+1};//q.push(b);q[tt++]=b;if(tt==M) tt=0;st[x][y]=1;}}return -1;
}
int main(){cin>>n>>k;//scanf("%d%d",&n,&k);for(int i=1;i<=n;i++){cin>>g[i]+1;//scanf("%s",g[i]+1);}int ans=bfs();printf("%d\n",ans);return 0;
}

大胖子走迷宫(bfs)相关推荐

  1. 【含泪总结】大胖子走迷宫(bfs+读懂题意)

    2548. 大胖子走迷宫 小明是个大胖子,或者说是个大大胖子,如果说正常人占用 1×1 的面积,小明要占用 5×5 的面积. 由于小明太胖了,所以他行动起来很不方便. 当玩一些游戏时,小明相比小伙伴就 ...

  2. 【BFS】大胖子走迷宫

    题目 2548. 大胖子走迷宫 - AcWing题库 解释 纯纯使用bfs来判断 与一般bfs不同的是,增加了时间维度 当时间小于2*k时 我们首先进行两种选择 一个是原地等待,一个是前进 当时间大于 ...

  3. 刷题 BFS 广度优先算法 : 大胖子走迷宫 (python, java)

    刷题 BFS 广度优先算法 : 大胖子走迷宫 (python, java) https://www.lanqiao.cn/problems/234/learning/ http://lx.lanqia ...

  4. 蓝桥杯国赛-大胖子走迷宫

    广度优先搜索,见注释 五个状态:上下左右停 题目提交 import java.util.ArrayDeque; import java.util.Queue; import java.util.Sca ...

  5. Java B组蓝桥杯第十届国赛:大胖子走迷宫

    试题 H: 大胖子走迷宫 时间限制: 1.0s 内存限制: 512.0MB 本题总分:20 分 [问题描述] 小明是个大胖子,或者说是个大大胖子,如果说正常人占用 1 × 1 的面积, 小明要占用 5 ...

  6. 2019年第十一届蓝桥杯国赛JavaB组第H题——“大胖子走迷宫”题目及解析

    测试样例 Input: 9 5 +++++++++ +++++++++ +++++++++ +++++++++ +++++++++ ***+***** +++++++++ +++++++++ ++++ ...

  7. 蓝桥杯_大胖子走迷宫

    题目描述 小明是个大胖子,或者说是个大大胖子,如果说正常人占用 1×11×1 的面积,小明要占用 5×55×5 的面积. 由于小明太胖了,所以他行动起来很不方便.当玩一些游戏时,小明相比小伙伴就吃亏很 ...

  8. 2548. 大胖子走迷宫 (时间bfs)

    小明是个大胖子,或者说是个大大胖子,如果说正常人占用 1×1 的面积,小明要占用 5×5 的面积. 由于小明太胖了,所以他行动起来很不方便. 当玩一些游戏时,小明相比小伙伴就吃亏很多. 小明的朋友们制 ...

  9. 第十届蓝桥杯(国赛)——大胖子走迷宫

    题目描述 小明是个大胖子,或者说是个大大胖子,如果说正常人占用 1×11 × 11×1 的面积,小明要占用 5×55 × 55×5 的面积. 由于小明太胖了,所以他行动起来很不方便.当玩一些游戏时,小 ...

  10. 大胖子走迷宫(蓝桥杯真题)

    小明是个大胖子,或者说是个大大胖子,如果说正常人占用 1×11×1 的面积,小明要占用 5×55×5 的面积. 由于小明太胖了,所以他行动起来很不方便. 当玩一些游戏时,小明相比小伙伴就吃亏很多. 小 ...

最新文章

  1. 一文详解计算机视觉的广泛应用:网络压缩、视觉问答、可视化、风格迁移等
  2. Python之黏包的解决
  3. 第五周项目2-对象作为数据成员
  4. akka使用_使用Akka简化交易系统
  5. 进程与线程的区别(面试题)
  6. C++/C--istringstream、ostringstream、stringstream 类介绍【转载】
  7. 王彩云计算机学院,通知丨中南民族大学2016-2017学年度研究生评优结果公示
  8. 用Python爬虫爬取广州大学教务系统的成绩(内网访问)
  9. 浙江大学计算机考研信息汇总
  10. Java批量导出word压缩后的zip文件
  11. Egret 学习笔记
  12. 一劳永逸的markdown主题~
  13. JS 删除Object中属性
  14. 【深度学习入门】基于 ResNet50 的狗狗品种识别
  15. iOS之nib、xib及storyboard的区别
  16. 荣耀手表2给女生带来无数次无法拒绝的心动
  17. 工作5-8年的外包测试员,平均年薪有多少?
  18. python编程的文件后缀是什么意思_python文件的后缀名是什么
  19. 如何用python开发一个贪吃蛇游戏_教你一步步利用python实现贪吃蛇游戏
  20. 【Day63】PHP支付宝服务窗API接口的开发

热门文章

  1. 宝塔linux webshell提权,linux提权 Root权限WebShell提权
  2. pythoneducoder苹果梨子煮水的功效_苹果梨子煮水的功效是什么呢
  3. CARLA 笔记(07)— 地图和导航(Landmarks、Waypoints、Lanes、Junctions、Environment Objects、路径点导航、地图导航、分层和非分层地图)
  4. 免费下载shape_predictor_68_face_landmarks.dat
  5. 仿淘宝头像上传功能(一)——前端篇。
  6. 电脑 蓝屏报错:SYSTMEM SCAN AT RAISED IRQL CAUGHT IMPROPER DRIVER UNLOAD
  7. Pytorch框架学习记录10——线性层
  8. 高数曲线,心形线,摆线,等曲线大全
  9. 人工智能的发展方向与机遇
  10. js控制元素左右缓慢移动和页面上下缓慢移动