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

比较国内外政府门户网站建设特点/广州百度seo代理

比较国内外政府门户网站建设特点,广州百度seo代理,企业型网站建设怎样收费,大同优化推广Ignatius再次被魔王抓走了(搞不懂他咋这么讨魔王喜欢)…… 这次魔王汲取了上次的教训,把Ignatius关在一个n*m的地牢里,并在地牢的某些地方安装了带锁的门,钥匙藏在地牢另外的某些地方。刚开始Ignatius被关在(sx,sy)的位置,离开地牢…
Ignatius再次被魔王抓走了(搞不懂他咋这么讨魔王喜欢)……

这次魔王汲取了上次的教训,把Ignatius关在一个n*m的地牢里,并在地牢的某些地方安装了带锁的门,钥匙藏在地牢另外的某些地方。刚开始Ignatius被关在(sx,sy)的位置,离开地牢的门在(ex,ey)的位置。Ignatius每分钟只能从一个坐标走到相邻四个坐标中的其中一个。魔王每t分钟回地牢视察一次,若发现Ignatius不在原位置便把他拎回去。经过若干次的尝试,Ignatius已画出整个地牢的地图。现在请你帮他计算能否再次成功逃亡。只要在魔王下次视察之前走到出口就算离开地牢,如果魔王回来的时候刚好走到出口或还未到出口都算逃亡失败。

Input每组测试数据的第一行有三个整数n,m,t(2<=n,m<=20,t>0)。接下来的n行m列为地牢的地图,其中包括:

. 代表路
* 代表墙
@ 代表Ignatius的起始位置
^ 代表地牢的出口
A-J 代表带锁的门,对应的钥匙分别为a-j
a-j 代表钥匙,对应的门分别为A-J

每组测试数据之间有一个空行。
Output针对每组测试数据,如果可以成功逃亡,请输出需要多少分钟才能离开,如果不能则输出-1。
Sample Input
4 5 17
@A.B.
a*.*.
*..*^
c..b*4 5 16
@A.B.
a*.*.
*..*^
c..b*
Sample Output
16
-1


HDU上的裸bfs, 用二进制表示当前钥匙的状态:

#include<stdio.h>
#include<string.h>
#include<algorithm>
#include<queue>
using namespace std;
int n,m,t;
char s[50][50];
int si,ei;
int dir[4][2]= {{-1,0}, {0,1}, {1,0}, {0,-1}};
int vis[50][50][2000];
struct node
{int x,y,step;int k;//k用来记录到当前这个点能打开哪几扇门,即捡到了哪几把钥匙
};
int bfs()
{node u;u.x=si;u.y=ei;u.step=0;u.k=0;vis[u.x][u.y][u.k]=1;queue<node> pq;pq.push(u);while(!pq.empty()){node v=pq.front();pq.pop();if(s[v.x][v.y] == '^' ){if(v.step < t)return v.step;else return 0;}if(v.step >= t)return 0;for(int i=0 ; i < 4 ; i++){int xx=v.x+dir[i][0];int yy=v.y+dir[i][1];if(xx>=0&&xx<n&&yy>=0&&yy<m&&s[xx][yy]!='*'){node g;g.x=xx;g.y=yy;g.k=v.k;g.step=v.step+1;if(s[xx][yy]>='a'&&s[xx][yy]<='z'){int kk=v.k|(1<<(s[xx][yy]-'a'));if(!vis[xx][yy][kk]){vis[xx][yy][kk]=1;g.k=kk;pq.push(g);}}else if(s[xx][yy]>='A'&&s[xx][yy]<='Z'){int kk=v.k&(1<<(s[xx][yy]-'A')); //kk 不为0,说明能打开当前这扇门if(!vis[xx][yy][g.k] && kk){vis[xx][yy][g.k]=1;pq.push(g);}}else{if(!vis[g.x][g.y][g.k]){vis[g.x][g.y][g.k]=1;pq.push(g);}}}}}return 0;
}
int main()
{int i,j,tt=1;while(scanf("%d%d%d",&n,&m,&t)!=EOF){
//        if(tt!=1)
//            printf("\n");
//        tt++;memset(vis,0,sizeof(vis));for(i=0 ; i < n ; i++){scanf("%s",s[i]);for(j=0 ; j < m ; j++){if(s[i][j] == '@'){si=i;ei=j;}}}int f=bfs();if(f){printf("%d\n",f);}elseprintf("-1\n");}return 0;

转载于:https://www.cnblogs.com/mrh-acmer/p/9179323.html

http://www.lbrq.cn/news/1552393.html

相关文章:

  • wordpress 登录失败/seo优化网站百度技术
  • 网页制作教程视频简单/郑州关键词网站优化排名
  • seo营销策划/济宁seo推广
  • 在建立网站站点的过程中/网站关键词百度自然排名优化
  • 鞍山哪里做网站/网络营销环境的分析主要是
  • 企业网站四大类型/dz论坛如何seo
  • 网络教学网站建设/百度推广一般要多少钱
  • 国外网站设计参考/百度sem竞价推广
  • 国内优秀网站网页设计/营销网站
  • 汽配出口做哪个网站好/注册google账号
  • 网站制作教程:初学者/长沙seo推广优化
  • 免费自助小型网站/域名解析查询
  • 网站注册地址查询/dz论坛seo设置
  • 煤炭网站建设企业/网站seo是什么意思
  • 微信网站是什么意思/杭州企业seo
  • 浙江网站建设推广公司找哪家/seo程序
  • 知名网站建设推广/世界搜索引擎大全
  • 做网站推广汉狮网络/关键词热度分析工具
  • 莘县网站制作/网络seo优化
  • wordpress4.9.5/东莞网络推广及优化
  • 网站制作内容文案/怎么在百度做宣传广告
  • 做网站大约要多少钱/更厉害的病毒2024
  • 微信小程序网站模板/搜狗友链交换
  • 做电影网站哪个系统好/电子商务网站建设论文
  • 网站开发是什么意思啊/百度学术论文查重
  • 四川住房和建设厅官网/seo和竞价排名的区别
  • 邯郸网站建设哪能做/aso优化师工作很赚钱吗
  • 网站编辑软件有哪些/优就业seo课程学多久
  • 黄冈做网站/企业网站怎么做
  • 怎样把已经有的网站做推广/爱站网的关键词是怎么来的
  • 深度解析和鲸社区热门项目:电商双 11 美妆数据分析的细节与价值
  • linux网络基础
  • 电工的基础知识以及仪器的使用
  • 【Spring Cloud 微服务】1.Hystrix断路器
  • 8月4日实训考察:重庆五一职院走进成都国际影像产业园
  • Mybatis学习笔记(三)