hdu-1242
来源:互联网 发布:什么是金蝶软件 编辑:程序博客网 时间:2024/06/07 20:08
dfs
可能有多个朋友 所以从angel搜朋友 遇到朋友就停止
#include <iostream>#include <algorithm>#include <set>#include <map>#include <string.h>#include <queue>#include <sstream>#include <stdio.h>#include <math.h>#include <stdlib.h>using namespace std;const int MAX = 202;int n,m,t;char p[MAX][MAX];int vis[MAX][MAX];int dir[4][2] = {{1,0},{-1,0},{0,1},{0,-1}};int sx,sy;void dfs (int x,int y,int ans ){if ( p[x][y] == 'r' ){if (t > ans)t = ans;return ;}for(int i=0;i<4;i++){int xx = x + dir[i][0];int yy = y + dir[i][1];if (xx >=0 && xx<n && yy>=0 && yy<m && !vis[xx][yy] && p[xx][yy]!='#'){if (p[xx][yy] == '.' || p[xx][yy]=='r' ){vis[xx][yy] = 1;dfs (xx,yy,ans+1);vis[xx][yy] = 0;}else {vis[xx][yy] = 1;dfs (xx,yy,ans+2);vis[xx][yy] = 0;}}}}int main (){while (scanf("%d %d",&n,&m)!=EOF){for(int i=0;i<n;i++){scanf("%s",p[i]);}for(int i=0;i<n;i++){for(int j=0;j<m;j++){if (p[i][j] == 'a'){sx = i;sy = j;break;}}}int ans = 0;t = INT_MAX;dfs (sx,sy,ans);if (t != INT_MAX )printf("%d\n",t);else printf("Poor ANGEL has to stay in the prison all his life.\n");}return 0;}
0 0
- hdu 1242
- hdu 1242
- HDU 1242
- hdu 1242
- hdu-1242
- HDU 1242
- hdu--1242
- HDU 1242
- HDU 1242
- HDU 1242
- hdu 1242
- HDU 1242
- hdu 1242
- HDU 1242
- hdu 1242 Rescue
- hdu 1242 bfs
- dfs hdu 1242
- HDU-1242-Rescue
- 業務システムの開発ドキュメント標準化 第5回:詳細設計書(後半)
- ios之应用程序设置
- 判断一个类型是否为可空类型(System.Nullable)
- elasticsearch常用的一些功能api
- 浅析multi range read(MRR) & batch key access(BKA) & block nested loop(BNL)
- hdu-1242
- 计算圆周率的最短C程序
- jQuery 对象访问:each(callback)
- Android访问通讯录和添加联系人
- Gathering Statistics for the Cost Based Optimizer (Pre 10g) (Doc ID 114671.1)
- 记录下
- 有关2014工作室学生负责人
- PHP消息发布时间距当前时间差距函数
- hdu-1312