hdoj 2102 A计画 【BFS】】的更多相关文章

称号:hdoj 2102 A计画点击打开链接 意甲冠军:文的就不说了.求救出公主所须要的最短时间,所以用广搜. 分析:读题之后不难做,比一般的题目多了一个条件就是能够传送,那么我们能够在广搜里面加一个传送的条件就好了. 其次这个题目注意有个坑就是假设两边都是传送门的话也不行 还有注意广搜写法,假设把队列定义成全局的话注意清空! ! #include <cstdio> #include <iostream> #include <queue> #include <cs…
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2102 思路分析: <1>搜索方法分析:由于需要寻找最短的找到公主的路径,所以采用bfs搜索 <2>需要注意的地方: 1)如果当前状态为'#'字符,需要传送到另外一层,但是从该层到另外一层的时间是不会计算: 2)如果当前状态为'#'字符,则应该考虑该状态能否拓展:因为另一层的相同位置的字符可能为 'S','P','.','*'或者'#',所以对于另一层相同位置的字符可能的各种情况应该考虑…
题目传送门 题意:中文题面 分析:双层BFS,之前写过类似的题.总结坑点: 1.步数小于等于T都是YES 2. 传送门的另一侧还是传送门或者墙都会死 3. 走到传送门也需要一步 #include <bits/stdc++.h> using namespace std; char maze[2][11][11]; int dx[4] = {-1, 1, 0, 0}; int dy[4] = {0, 0, -1, 1}; int n, m, tot; bool vis[2][11][11]; st…
http://acm.hdu.edu.cn/showproblem.php?pid=2102 题目还是不难,注意起点一定是(0,0,0),然后到达P点时间<=t都可以. 用一个3维字符数组存储图,另一个三维数组标记走过的点.每次遇到#号传送过去之后,都要判断传过去的点是否被访问过. 并且还要注意传过去是‘*’的情况,和传来传去的情况都可以不用考虑. 没注意细节,WA了几次. #include <cstdio> #include <cstring> #include <q…
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2102 题目大意:公主被关在一个两层的迷宫里,迷宫的入口是S(0,0,0),公主的位置用P表示,时空传输机用#表示,墙用*表示,平地用.表示.骑士们一进入时空传输机就会被转到另一层的相对位置,但如果被转到的位置是墙的话,那骑士们就会被撞死.骑士们在一层中只能前后左右移动,每移动一格花1时刻.层间的移动只能通过时空传输机,且不需要任何时间.每个测试数据的前一行有三个整数N,M,T. N,M迷宫的大小N*…
题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=2102 思路 题目有两个坑点 0.Output 说 能在T时刻 找到公主 就输出 YES 但实际上 只要在T时刻或者T时刻之前找到就可以了 1.如果传输机另一边 是 墙 那么就会被撞死 那如果另一边也是传输机 那么也是就会传来传去 也是行不通的 解决方法 如果 传输机另一边是墙 那么就把这个传输机设置为墙 如果传输机另一边也是传输机 那就把 这两个传输机都设置为墙 因为传输的时候是不需要花费时间的 所…
题目 //要仔细写的BFS,着重对#穿越的处理哦: //花了几个小时终于把这道简单的BFS给弄好了,我果然还需要增加熟练度,需要再仔细一些: //代码有点乱,但我不想改了,,,,, #include<stdio.h> #include<string.h> #include<queue> #include<algorithm> using namespace std; struct tt { int x,y,step,floor; }; ][][],n,m,t…
Problem Description Angel was caught by the MOLIGPY! He was put in prison by Moligpy. The prison is described as a N * M (N, M <= 200) matrix. There are WALLs, ROADs, and GUARDs in the prison. Angel's friends want to save Angel. Their task is: approa…
这题太欢乐了......虽然wa了几次,但是想到骑士在两幅图的传送门中传来传去就觉得这骑士太坑了 #include <cstdio> #include <iostream> #include <cmath> #include <cstring> using namespace std; int n,m,cost,head,tail,ans; char map[2][15][15]; int sum[2][15][15]; struct node { int…
A计划 Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 13301    Accepted Submission(s): 3284 Problem Description 可怜的公主在一次次被魔王掳走一次次被骑士们救回来之后,而今,不幸的她再一次面临生命的考验.魔王已经发出消息说将在T时刻吃掉公主,因为他听信谣言说吃公主的肉也能长生不老.…