蓝桥杯2015年第六届C/C++A组国赛第四题-穿越雷区
2022/2/23 12:21:25
本文主要是介绍蓝桥杯2015年第六届C/C++A组国赛第四题-穿越雷区,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
Idea
求最短路径,用bfs解题
code评测地址
AC Code
#include<iostream> #include<cmath> #include<algorithm> #include<queue> using namespace std; #define MAX_SIZE 101 struct node { int x,y; int step; }; int dx[4]={1,0,0,-1}; int dy[4]={0,1,-1,0}; char a[MAX_SIZE][MAX_SIZE]; bool vis[MAX_SIZE][MAX_SIZE]; queue<node> Q; int main(){ int n; cin>>n; for(int i=0;i<n;i++) for(int j=0;j<n;j++) cin>>a[i][j]; node first; first.x=0; first.y=0; first.step=0; Q.push(first); vis[0][0]=1; int ans = 1000000; while(!Q.empty()){ node cur = Q.front(); Q.pop(); int x=cur.x; int y=cur.y; if(a[x][y]=='B'){ if(cur.step<ans) ans = cur.step; continue; } for(int i=0;i<4;i++){ int nx = x+dx[i]; int ny=y+dy[i]; if(nx>=0&&nx<n&&ny>=0&&ny<n&&!vis[nx][ny]&&a[x][y]!=a[nx][ny]){ node curN; curN.x=nx; curN.y=ny; curN.step=cur.step+1; Q.push(curN); vis[nx][ny]=1; } } } cout<<(ans==1000000?-1:ans); return 0; }
这篇关于蓝桥杯2015年第六届C/C++A组国赛第四题-穿越雷区的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-06-06Package Easy(基于 NSIS 的打包exe安装包工具)使用方法-icode9专业技术文章分享
- 2024-06-06基于 casdoor 的 ELK 开源登录认证解决方案: elk-auth-casdoor-icode9专业技术文章分享
- 2024-05-29Elasticsearch慢查询日志配置
- 2024-05-29揭秘华为如此多成功项目的产品关键——Charter模板
- 2024-05-29海外IDC业务拓展的7大挑战
- 2024-05-29InLine Chat功能优化对标Github Copilot,CodeGeeX带来更高效、更直观的编程体验!
- 2024-05-29CodeGeeX 智能编程助手 6 项功能升级,在Visual Studio插件市场霸榜2周!
- 2024-05-29AutoMQ 生态集成 Apache Doris
- 2024-05-292024年IDC行业的深度挖掘:机遇、挑战与未来展望
- 2024-05-29五款扩展组件齐发 —— Volcano、Keda、Crane-scheduler 等,邀你体验