杭电1010 Tempter of the Bone
来源:互联网 发布:nba主帅数据排名 编辑:程序博客网 时间:2024/06/01 10:11
这一题还是有点难度,一开始没有看懂。然后网上找了一些相关材料,才逐渐看懂整个题目。这里整个代码参考了网上大神的一些代码
#include <stdio.h>#include <iostream>#include <string.h>#include <stdlib.h>/*using namespace std;//迷宫地图//X: 墙壁,小狗不能进入//S: 小狗所处的位置//D: 迷宫的门//. : 空的方格char map[9][9];int n, m, t, di, dj; //(di,dj):门的位置bool escape;int dir[4][2] = { { 0, -1 }, { 0, 1 }, { 1, 0 }, { -1, 0 } }; //分别表示下、上、左、右四个方向void dfs(int si, int sj, int cnt) //表示起始位置为(si,sj),要求在第cnt秒达到门的位置{ int i, temp; if (si > n || sj > m || si <= 0 || sj <= 0) return; if (si == di && sj == dj && cnt == t) { escape = 1; return; } //abs(x-ex) + abs(y - ey)表示现在所在的格子到目标格子的距离(不能走对角线) //t-cnt是实际还需要的步数,将他们做差 //如果temp < 0或者temp为奇数,那就不可能到达! temp = (t - cnt) - abs(si - di) - abs(sj - dj); if (temp < 0 || temp & 1) return; for (i = 0; i < 4; i++) { if (map[si + dir[i][0]][sj + dir[i][1]] != 'X') { map[si + dir[i][0]][sj + dir[i][1]] = 'X'; dfs(si + dir[i][0], sj + dir[i][1], cnt + 1); if (escape) return; map[si + dir[i][0]][sj + dir[i][1]] = '.'; } } return;}int main(){ int i, j, si, sj; while (cin >> n >> m >> t) { if (n == 0 && m == 0 && t == 0) break; int wall = 0; for (i = 1; i <= n; i++) for (j = 1; j <= m; j++) { cin >> map[i][j]; if (map[i][j] == 'S') { si = i; sj = j; } else if (map[i][j] == 'D') { di = i; dj = j; } else if (map[i][j] == 'X') wall++; } if (n*m - wall <= t) { cout << "NO" << endl; continue; } escape = 0; map[si][sj] = 'X'; dfs(si, sj, 0); if (escape) cout << "YES" << endl; else cout << "NO" << endl; } return 0;}*/
阅读全文
0 0
- 杭电1010-Tempter of the Bone
- 杭电 Tempter of the Bone 1010
- 杭电 1010 Tempter of the Bone
- 杭电1010---Tempter of the Bone
- 杭电 1010 Tempter of the Bone
- 【杭电】[1010]Tempter of the Bone
- 杭电1010 Tempter of the Bone
- 杭电acm1010 Tempter of the Bone
- 杭电 HDU 1010 Tempter of the Bone
- 杭电1010Tempter of the Bone(搜索)
- 杭电OJ:1010 Tempter of the Bone
- 杭电1010 Tempter of the Bone(奇偶性剪枝)
- 杭电(hdu)ACM 1010 Tempter of the Bone
- 杭电1010-Tempter of the Bone(BFS)
- C - Tempter of the Bone 杭电1010
- 杭电-1010 Tempter of the Bone(深搜)
- 杭电ACM 1010 Tempter of the Bone
- 杭电OJ——Tempter of the Bone
- 在url中有中文乱码问题的解决
- 杭电1009 FatMouse' Trade
- 本地搭建 Swagger-UI 环境搭建
- Centos安装rz和sz通信套件
- 数据结构实验之链表三:链表的逆置
- 杭电1010 Tempter of the Bone
- TOMCAT8支持HTTPS协议
- The Unreasonable Effectiveness of Recurrent Neural Networks
- Ubuntu底下修改用户名
- Keras---序贯模型
- [新手题]谁吃饼干 python
- 数据结构实验之链表四:有序链表的归并
- AWT介绍
- 视图矩阵的推导(2)