当前位置: 首页 > news >正文

一个帮你赚钱的网站是谁做的广告深圳百度开户

一个帮你赚钱的网站是谁做的广告,深圳百度开户,机械毕业设计代做网站推荐,莱芜金点子招工小时工公主被恶人抓走,被关押在牢房的某个地方。牢房用 N \times M (N, M \le 200)NM(N,M≤200) 的矩阵来表示。矩阵中的每项可以代表道路()、墙壁(#)、和守卫(x)。 英勇的骑士(r&#xf…

公主被恶人抓走,被关押在牢房的某个地方。牢房用 N \times M (N, M \le 200)N×M(N,M≤200) 的矩阵来表示。矩阵中的每项可以代表道路(@)、墙壁(#)、和守卫(x)。

英勇的骑士(r)决定孤身一人去拯救公主(a)。我们假设拯救成功的表示是 "骑士到达了公主所在的位置"。由于在通往公主所在位置的道路中可能遇到守卫,骑士一旦遇到守卫,必须杀死守卫才能继续前进。

现假设骑士可以向上、下、左、右四个方向移动,每移动一个位置需要 11 个单位时间,杀死一个守卫需要花费额外的 11 个单位时间。同时假设骑士足够强壮,有能力杀死所有的守卫。

给定牢房矩阵,公主、骑士和守卫在矩阵中的位置,请你计算拯救行动成功需要花费最短时间。

输入格式

1、两个整数代表 NN 和 M, (N, M \le 200)M,(N,M≤200).
2、随后 NN 行,每行有 MM 个字符。"@" 代表道路,"a" 代表公主,"r" 代表骑士,"x" 代表守卫, "#" 代表墙壁。

输出格式

如果拯救行动成功,输出一个整数,表示行动的最短时间。
如果不可能成功,输出 "Impossible"。

输入样例1:

7 8
#@#####@
#@a#@@r@
#@@#x@@@
@@#@@#@#
#@@@##@@
@#@@@@@@
@@@@@@@@

输出样例1:

13

输入样例2:

13 40
@x@@##x@#x@x#xxxx##@#x@x@@#x#@#x#@@x@#@x
xx###x@x#@@##xx@@@#@x@@#x@xxx@@#x@#x@@x@
#@x#@x#x#@@##@@x#@xx#xxx@@x##@@@#@x@@x@x
@##x@@@x#xx#@@#xxxx#@@x@x@#@x@@@x@#@#x@#
@#xxxxx##@@x##x@xxx@@#x@x####@@@x#x##@#@
#xxx#@#x##xxxx@@#xx@@@x@xxx#@#xxx@x#####
#x@xxxx#@x@@@@##@x#xx#xxx@#xx#@#####x#@x
xx##@#@x##x##x#@x#@a#xx@##@#@##xx@#@@x@x
x#x#@x@#x#@##@xrx@x#xxxx@##x##xx#@#x@xx@
#x@@#@###x##x@x#@@#@@x@x@@xx@@@@##@@x@@x
x#xx@x###@xxx#@#x#@@###@#@##@x#@x@#@@#@@
#@#x@x#x#x###@x@@xxx####x@x##@x####xx#@x
#x#@x#x######@@#x@#xxxx#xx@@@#xx#x#####@

输出样例2:

7

解题思路:因为要求到达‘a'的最小值,所以求每一步时都用前一步的最小值来求,那么就需要使用优先队列来做了。

参考答案:

#include<iostream>
#include<vector>
#include<queue>
using namespace std;
const int N=2005;
typedef pair<int,int> PII;
char a[N][N];
int n,m,sx,sy,dist[N][N];
struct node{int x,y,s;friend bool operator<(node a,node b){return a.s>b.s;}
}cur,nex;
bool st[N][N];
priority_queue<node> q;
void BFS()
{st[sx][sy]=true;cur={sx,sy,0};q.push(cur);int ne[4][2]={{0,1},{0,-1},{1,0},{-1,0}};while(q.size()){auto it=q.top();q.pop();int x=it.x,y=it.y, s=it.s;for(int i=0;i<=3;i++){int tx=x+ne[i][0],ty=y+ne[i][1];if(a[tx][ty]=='a'){cout<<s+1;return ;}if(tx>=0&&tx<n&&ty>=0&&ty<m&&a[tx][ty]!='#'&&!st[tx][ty]){st[tx][ty]=true;if(a[tx][ty]=='x'){cur={tx,ty,s+2};q.push(cur);}if(a[tx][ty]=='@'){cur={tx,ty,s+1};q.push(cur);}}}}cout<<"Impossible";
}
int main()
{cin>>n>>m;for(int i=0;i<n;i++)for(int j=0;j<m;j++){cin>>a[i][j];if(a[i][j]=='r') sx=i,sy=j;} BFS();return 0;
}

 

http://www.ds6.com.cn/news/87161.html

相关文章:

  • 南昌网站建设服务器媒体推广
  • 宁波做网站有哪些公司公司百度搜索引擎网址格式
  • 怎么看出是模板网站360搜索引擎
  • 建设评标专家在哪个网站阜平网站seo
  • 眉山建设局网站百度云盘资源
  • 日本人文艺术欣赏ppt优化法治化营商环境
  • 西安网页设计制作介绍关键词seo排名优化如何
  • 做网站架构图百度关键词购买
  • 两学一做网站视频淘宝店铺转让价格表
  • 洛阳网站推广方式百度网站电话是多少
  • 佛山企业网站建设公司企业广告宣传
  • 教您如何申请企业邮箱win7优化大师好不好
  • 网站设计制作报告百度网站网址是多少
  • 织梦网站空间如何清理客服系统网页源码2022免费
  • win不用iis做网站站点搜索
  • 网站+做内容分发资格湖南疫情最新消息今天
  • wordpress随机注册seo诊断报告
  • 做网站所需知识百度推广运营工作是什么
  • wordpress后台运行速度慢新网seo关键词优化教程
  • 网站翻页模板优化公司排名
  • Ul设计网站推广普通话心得体会
  • 做投资的网站好百度seo排名
  • 济南建网站公司价格微网站
  • 怎么找人做网站啊营销网站方案设计
  • 昆明餐饮网站建设seo基础篇
  • 精美ppt模板下载免费seo推广的网站和平台有哪些
  • 网站建设咨询公司哪里可以建网站
  • 喀什做网站关键词排名哪里查
  • 建个企业网站对公司宣传有用吗seo是什么职业岗位
  • .tv做网站怎么样谷歌应用商店app下载