尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
牛客每日一题 小红的皇后(bfs)
题目链接小红的皇后_牛客题霸_牛客网题目大意在一个n*m的网格上有若干障碍物其中有三种走法每种算一步∙ 向右(x,y)→(x,yk)∙ 向下(x,y)→(xk,y)∙ 向右下(x,y)→(xk,yk)其中 k≥1并且移动路径上不得出现障碍物。求从11到n,m)的最小移动步数如果不能到达输出-1题目思路由于让我们求最小移动步数并且每一步移动代价相同即最短路问题我们可以用bfs求解.朴素 BFS 的问题如果皇后每走一步都枚举所有可能的k1,2,3,...最坏情况复杂度 O(nm × max(n,m))会超时。优化思路利用 BFS 的层次性每个格子第一次被访问时步数一定是最少的。所以每个格子只需要入队一次从当前格子出发沿三个方向一直走到头途中遇到未访问的格子就入队遇到更优解或障碍物就停止此时对于每走一步都枚举所有可能的k1,2,3,...降到常数级别代码如下#include bits/stdc.h using namespace std; using in128 __int128_t; #define int long long bool in_bound(int x,int y,int n,int m){ return 1 x x n 1 y y m; } int bfs(int n,int m,vectorstringgrid){ vectorvectorint dist(n 1, vectorint(m 1, -1)); queuepairint, int q; q.push({1,1}); dist[1][1] 0; int dx[] {0, 1, 1}; int dy[] {1, 0, 1}; pairint, int u; while(!q.empty()){ u q.front(); q.pop(); int x u.first; int y u.second; int current_dist dist[x][y]; if(xnym){ return current_dist; } for (int dir 0; dir 3; dir) { int k 1; while(true){ int nx x dx[dir] * k; int ny y dy[dir] * k; if(!in_bound(nx,ny,n,m)||grid[nx][ny]!.){ break; } if(dist[nx][ny]-1){ dist[nx][ny] current_dist 1; q.push({nx, ny}); }else if(dist[nx][ny]current_dist) { // 如果已经有更优解提前终止 break; } k; } } } return -1; } void solve() { int n, m; cin n m; vectorstring grid(n 1); for (int i 1; i n;i){ cin grid[i]; grid[i] grid[i]; } cout bfs(n, m, grid) endl; } signed main() { ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); int T 1; //cin T; while (T--) { solve(); } return 0; }
RELATED

相关推荐

【MySQL】PIPES_AS_CONCAT-性能影响分析验证报告

【MySQL】PIPES_AS_CONCAT-性能影响分析验证报告

MySQL sql_modePIPES_AS_CONCAT 性能影响分析验证报告 测试日期:2026-09-03测试人:DarkAthena更新:2026-09-03 补充 5.7(|| 链式拼接展开方式的源码与实验验证)、5.8(金融证券业务风险场景实测&#xff09…

📅 2026/11/8 20:04:08
模型推理把 16G 内存吃满:机器学习入门教我单例加载后内存降了 70%

模型推理把 16G 内存吃满:机器学习入门教我单例加载后内存降了 70%

模型推理把 16G 内存吃满:机器学习入门教我单例加载后内存降了 70% 发版当天下午三点,我把训练了一个多星期的图像分类模型推上了 SageMaker 端点,灰度只放了 10% 的流量。头半个小时一切正常,CloudWatch 上内存使用率稳定在 45% 左右。但就在我准备去接水的时候,告警炸了--内…

📅 2026/10/5 8:41:51
2026年降AI率工具怎么选?6款实测对比

2026年降AI率工具怎么选?6款实测对比

知网、维普的AI检测算法迭代了好几轮,去年还能蒙混过关的改写套路现在基本失效。论文定稿前卡在降AI率这一关的人,今年格外多。市面上号称能降AI率的工具翻了倍,但效果到底怎么样,实测才知道。 这次我选了6款工具,花了…

📅 2026/10/6 11:37:26
MORE NEWS

更多资讯

📰

电工证图片打印怎么搞?官方报名入口全解析,别白交培训费

电工证图片打印怎么搞?官方报名入口全解析,别白交培训费 怕考不过白交培训费?现在越来越多的电工从业者在考虑报考电工证,尤其是想了解【电工证图片打印】怎么操作,甚至有些人误以为只要打印一张证书图片就能上岗。但你有没有想过,这个证到底能不能打印…

📰

初级电工证几级好考过网上查询方法及备考全攻略

初级电工证几级好考过网上查询方法及备考全攻略 你是不是也遇到了这种情况? 急需特种作业证才能上岗找工作 ,但又对报考流程、考试内容、证书等级一头雾水,甚至连网上查询都找不到靠谱的资料?别急,这篇文章就帮你从零开始,搞清楚…

📰

电工证重新培训费用怎么报名?实操考试心里没底怕挂科怎么办

电工证重新培训费用怎么报名?实操考试心里没底怕挂科怎么办 实操考试心里没底怕挂科,尤其是电工证重新培训,很多人担心费用高、流程复杂、考试不通过。别担心,本文就围绕【电工证重新培训费用怎么报名】,为你一步步拆解,从报名到考试再到费用,讲得明明…

📰

如何识别电工证的真伪行业前景与薪资待遇

电工证真伪识别全攻略:过期了不知道怎么复审延期怎么办?怎么报名最靠谱? 证书过期了不知道怎么复审延期?别慌,这事儿咱们今天就掰开了说。很多人手上拿着电工证,但一到复审时间就手忙脚乱,不知道怎么操作。更别提市面上真假混杂的证书,稍不留神就踩坑…

📰

低学历也能考电工证?考电工证要学哪些理论良心建议全在这

低学历也能考电工证?考电工证要学哪些理论良心建议全在这 你是不是也担心自己学历不高,考电工证怕报不上名?别急,今天就给你讲讲考电工证到底要学哪些理论, 良心建议 全在这里,帮你少走弯路,稳稳拿到证。…

📰

成都人才电工证报名怎么考?证书过期了不知道怎么复审延期?考前押题帮你稳过!

成都人才电工证报名怎么考?证书过期了不知道怎么复审延期?考前押题帮你稳过! 证书过期了不知道怎么复审延期?这是很多成都电工从业者在遇到岗位变动、项目停工或换岗时最头疼的问题。很多人以为电工证是“一劳永逸”的,结果一不留神就错过了复审期限,影…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬