9月22日 魔兽世界
题目
题目描述
![](http://10.156.31.134/admin/upload/images/mssj.jpg)
而入口在左上方(1,1),BOSS却躲在右下方(N,M).小A非常急切的想要完成单刷然后去向其他那些战士啊盗贼啊不会单刷的职业炫耀炫耀,所以呢,小A绝不会在小怪身上浪费时间(当然是绕开他们),并且想通过传送门尽快到达BOSS身边.看啊看,想啊想,还是没找出最快的路.终于,灵机一动,想什么啊,编程呗!
[样例说明]
路线如图:
输入
下面n行,每行m个数(入口点和BOSS点无怪和传送门),表示厄运之槌的地图。地图数据之间无空格。每步只能走一格,方向上下左右。左上角为入口点,右下角为出口点.
输出
输入样例复制
0000
00A0
A000
输出样例复制
说明
1 #include<bits/stdc++.h> 2 #include<cstdio> 3 #include<queue> 4 using namespace std; 5 int n,m; 6 char ss[101]; 7 bool flag[101][101]; 8 int v[101][101]; 9 int a[101][101]; 10 int fx[4][2]={{1,0},{0,1},{-1,0},{0,-1}}; 11 int x,y; 12 int ans=1e9; 13 void bfs() 14 { 15 memset(v,0x7f,sizeof(v)); 16 v[1][1]=0; 17 x=1; 18 y=1; 19 int s1,s2; 20 queue<int> q; 21 q.push(x); 22 q.push(y); 23 while (!q.empty()) 24 { 25 s1=q.front(); 26 q.pop(); 27 s2=q.front(); 28 q.pop(); 29 int k=v[s1][s2]+1; 30 for (int i=0;i<4;i++) 31 { 32 if (a[s1+fx[i][0]][s2+fx[i][1]]==1&&s1+fx[i][0]<1&&s1+fx[i][0]>n&&s2+fx[i][1]<1&&s2+fx[i][1]>m) continue; 33 if (a[s1+fx[i][0]][s2+fx[i][1]]>9&&flag[s1+fx[i][0]][s2+fx[i][1]]==0) 34 { 35 flag[s1+fx[i][0]][s2+fx[i][1]]=1; 36 for (int ii=1;ii<=n;ii++) 37 for (int jj=1;jj<=m;jj++) 38 if (a[s1+fx[i][0]][s2+fx[i][1]]==a[ii][jj]&&(ii!=s1+fx[i][0]||jj!=s2+fx[i][1])) 39 { 40 v[ii][jj]=min(k,v[ii][jj]); 41 q.push(ii); 42 q.push(jj); 43 } 44 } 45 else if (v[s1+fx[i][0]][s2+fx[i][1]]==2139062143&&a[s1+fx[i][0]][s2+fx[i][1]]==0&&s1+fx[i][0]>=1&&s1+fx[i][0]<=n&&s2+fx[i][1]>=1&&s2+fx[i][1]<=m) 46 { 47 if (s1+fx[i][0]==n&&s2+fx[i][1]==m) 48 ans=min(k,ans); 49 q.push(s1+fx[i][0]); 50 q.push(s2+fx[i][1]); 51 v[s1+fx[i][0]][s2+fx[i][1]]=min(k,v[s1+fx[i][0]][s2+fx[i][1]]); 52 } 53 if (s1+fx[i][0]==n&&s2+fx[i][1]==m) 54 ans=min(k,ans); 55 } 56 } 57 } 58 int main () 59 { 60 cin>>n>>m; 61 for (int i=1;i<=n;i++) 62 { 63 scanf("%s",ss+1); 64 for (int j=1;j<=m;j++) 65 a[i][j]=ss[j]-48; 66 } 67 bfs(); 68 if (ans!=1e9) 69 cout<<ans; 70 else 71 cout<<"No Solution."; 72 }
转载于:https://www.cnblogs.com/zjzjzj/p/9692596.html
9月22日 魔兽世界相关推荐
- 魔兽世界3.3.5 TrinityCore2020年3月22日编译端
魔兽世界3.3.5 TrinityCore2020年3月22日编译端 自己转发自己的贴子...(仅供学习测试使用) 2020年03月22日 TrinityCore+AyaseCore的库完全汉化 20 ...
- 2021年4月22日 阿里供应链Java开发实习面试(三面)(含总结)
title: 2021年4月22日 阿里供应链Java开发实习面试(三面) tags: 面经 2021年4月22日 阿里供应链Java开发实习面试(三面) 上来就手撕一道代码--输入一个数,然后顺时针 ...
- 定档12月22日!《黑客帝国4》王者归来,再掀矩阵革命
[导读]距离上一部18年后,黑客帝国4将华丽归来,定档21年!女主演近期接受采访时透露,这部电影将带来全新的行业技术变革,包括前所未有的摄像设备.「子弹时间」.创纪录的百人动作捕捉等经典瞬间已经永留影 ...
- 一周第一次课笔记(1月22日)
一周第一次课(1月22日) 1.1学习之初 1.2约定 1.3认识Linux 1.4安装虚拟机 1.5安装centos7 1.1学习之初 学习之前合理定位自己 给自己设定1个合理目标 计划好学习的期限 ...
- 9月22日我国垃圾邮件报告:湖北省再居榜首
据中国互联网协会反垃圾信息中心发布的实时统计数据显示,9月22日,国内垃圾邮件发送服务器IP地址主要集中在湖北省.河南省和北京市等地区.其中,湖北省垃圾邮件发送服务器IP地址高达917个,河南达717 ...
- 分享Silverlight/WPF/Windows Phone/HTML5一周学习导读(4月16日-4月22日)
分享Silverlight/WPF/Windows Phone/HTML5一周学习导读(4月16日-4月22日) 本周Silverlight学习资源更新 银光中国网友原创:Silverlight中获取 ...
- 金碧辉煌!皇城定制5月22日正式对外运营开业!
2016年5月20日,皇城定制创始人宋沁沁发布声明:"皇城定制将于5月22日正式对外运营开业!"开业的地点,选在深圳市福田区皇御苑皇城广场352号,皇城定制诚邀广大消费者光临现场! ...
- jq 控制td只显示一行_9月22日现货黄金、白银TD、黄金TD、纸黄金、纸白银价格走势分析...
前言:你必须在两者之间选择:你想拥有一部造钱机,还是将自己变成造钱机. [9月22日黄金交易所开盘] 上海黄金交易所黄金TD 凌晨收盘报405.4元/克: 上海黄金交易所白银TD 凌晨收盘报5.261 ...
- 仙道服务器维护,5月22日8:00全区停机维护 刺金传说上线
亲爱的灵芝们: 我们将于5月22日8:00对全区全服进行停机维护,对服务器进行全面的检查和维护工作,同时,修复部分已知问题. 届时您将无法登陆游戏,所有活动在维护期间也将暂停.此外,在维护期间,账号充 ...
最新文章
- 构建DHCP及中继服务器
- java面向对象认定的特征_Java面向对象的三大特征(一)
- maven junit scope test坑
- 【Linux部署】Spring Boot 项目部署在Linux环境下的Docker容器内举例【任务调度系统 xxl-job 任务调度中心】(手动版)
- Python-OpenCV基本操作cv2
- 3d 自动生成物体_根据 2D 图片自动生成 3D 图书封面的牛逼工具
- Windows Server 2008 R2 MSDN ISO镜像简体中文版和英文版下载
- 怎么一键重装系统?装机大师一键重装图文教程
- FOSSID(开源代码检测工具)
- Java类和对象:private/public/friendly/封装
- html5桌面打开网页是有问号,点击HTML页面问号出现提示框
- XML 大于号 小于号 处理
- 创建一个urdf机器人_ROS机器人Diego制作16-创建机器人的urdf模型描述文件
- html中li的圆点,CSS中li圆点样式
- wsl虚拟机ubuntu安装宝塔要知道的
- 基于ArcGIS水文分析、HEC-RAS模拟技术在洪水危险性及风险评估
- 逍遥安卓模拟器卡android,逍遥安卓模拟器很卡怎么办?
- 1.数组简介:什么是数组???数组有哪四要素???
- Excel合并多列增加指定字符指定字符替换为换行符调整行高步骤
- 如何进行特征工程,以及特征工程的一些理论