题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5335

     #include<stdio.h>
     #include<cstring>
     #include<cmath>
     #include<algorithm>
     using namespace std;
     ;
     char R[MAXN][MAXN];
     bool used[MAXN][MAXN];
     ], yy[];
     ] = { ,  ,  , -};
     ] = { , -,  ,  };
     int n,m;
     void bfs(){
         memset(used,false,sizeof(used));
         used[][] = true;
         , h = ;
         xx[p] = ;
         yy[p] = ;
         for(; p <= h; ++p)
             '){
                 ; i < ; ++i){
                     int X = xx[p]+mx[i];
                     int Y = yy[p]+my[i];
                      < X && X <= n &&  < Y && Y <= m && !used[X][Y]){
                         h++;
                         xx[h] = X;
                         yy[h] = Y;
                         used[X][Y] = true;
                     }
                 }
         }//注意区分XY
         ' && used[n][m]){
             printf("0\n");
             return;
         }
         ;
         ; i <= n; ++i)
             ; j <= m; ++j)
                 if(used[i][j]){
                     ma = max(ma,i+j);
                 }
         printf(");
         for( int i = ma; i < n+m; ++i){
             ';
             ; j <= n; ++j )
                  <= i-j && i-j <= m && used[j][i-j]){
                     mi = min(mi,R[j+][i-j]);
                     mi = min(mi,R[j][i-j+]);
                 }
             printf("%c",mi);
             ; j <= n; ++j )
                  <= i-j && i-j <= m && used[j][i-j]){
                     ][i-j] == mi)
                         used[j+][i-j] = true;
                     ] == mi)
                         used[j][i-j+] = true;
                 }
         }
         printf("\n");
     }
     int main()
     {
         freopen("../Ъ§Он/1009/1009.in", "r", stdin);
         freopen("a.out", "w", stdout);
         int T;
         scanf("%d",&T);
         while(T--){
             scanf("%d%d",&n,&m);
             ; i <= n; ++i )
                 scanf();
             ; i <= n+; ++i){
                 R[i][] = R[i][m+] = ';
             }
             ; i <= m+; ++i){
                 R[][i] = R[n+][i] = ';
             }
             bfs();
 //            for ( int i = 0; i <= n +1; i++){
 //                for( int j = 0; j <= m+1; j++)
 //                    printf("%c",R[i][j]);
 //                printf("\n");
 //            }
         }
         ;
     }

hdoj 5335 Walk Out的更多相关文章

  1. BFS+贪心 HDOJ 5335 Walk Out

    题目传送门 /* 题意:求从(1, 1)走到(n, m)的二进制路径值最小 BFS+贪心:按照标程的作法,首先BFS搜索所有相邻0的位置,直到1出现.接下去从最靠近终点的1开始, 每一次走一步,不走回 ...

  2. hdu 5335 Walk Out (搜索)

    题目链接: hdu 5335 Walk Out 题目描述: 有一个n*m由0 or 1组成的矩形,探险家要从(1,1)走到(n, m),可以向上下左右四个方向走,但是探险家就是不走寻常路,他想让他所走 ...

  3. 离散化+BFS HDOJ 4444 Walk

    题目传送门 /* 题意:问一个点到另一个点的最少转向次数. 坐标离散化+BFS:因为数据很大,先对坐标离散化后,三维(有方向的)BFS 关键理解坐标离散化,BFS部分可参考HDOJ_1728 */ # ...

  4. HDU 5335——Walk Out——————【贪心】

    Walk Out Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total Su ...

  5. HDU 5335 Walk Out(多校)

    Walk Out Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total Su ...

  6. hdu 5335 Walk Out (2015 Multi-University Training Contest 4)

    Walk Out                                                                         Time Limit: 2000/10 ...

  7. hdu 5335 Walk Out 搜索+贪心

    Walk Out Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Total S ...

  8. 2015 Multi-University Training Contest 4 hdu 5335 Walk Out

    Walk Out Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total Su ...

  9. HDOJ 5001 Walk

    概率DP dp[j][d] 表示不经过i点走d步到j的概率, dp[j][d]=sigma ( dp[k][d-1] * Probability ) ans = sigma ( dp[j][D] ) ...

随机推荐

  1. 用canvas实现图片滤镜效果

    1.灰度效果 图片过滤效果之灰度效果 算法及原理: .299 * r + .587 * g + .114 * b; 2.油画效果 算法及原理: 用当前点四周一定范围内任意一点的颜色来替代当前点颜色,最 ...

  2. codeigniter框架扩展核心类---实现前台后台视图的分离

    1. 扩展核心类,主要作用就是扩展系统现在的功能. 为前台增加独立的视图文件夹: a. 自定义路径常量 :在application ->config/  constants.php中增加 /*m ...

  3. 20160130.CCPP体系详解(0009天)

    程序片段(01):hanoi.c+汉诺塔.c 内容概要:汉诺塔 ///hanoi.c #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> ...

  4. poj2387 Til the Cows Come Home

    解题思路:最短路的模板题,注意一个细节处理即可. 见代码: #include<cstdio> #include<cstring> #include<algorithm&g ...

  5. JavaScript定时器与执行机制解析

    从JS执行机制说起 浏览器(或者说JS引擎)执行JS的机制是基于事件循环. 由于JS是单线程,所以同一时间只能执行一个任务,其他任务就得排队,后续任务必须等到前一个任务结束才能开始执行. 为了避免因为 ...

  6. MYSQL中 ENUM、SET 类型(建议用tinyint代替)

    ENUM类型 ENUM 是一个字符串对象,其值通常选自一个允许值列表中,该列表在表创建时的列规格说明中被明确地列举. 在下列某些情况下,值也可以是空串("") 或 NULL: 如果 ...

  7. delphi 怎么把image上的图片粘贴到剪切板上

    这个给你一个简单的代码,仅提供思路. uses Clipbrd; //引用单元 procedure TForm1.Button1Click(Sender: TObject); var Bmp: TBi ...

  8. 【剑指offer 面试题47】不用加减乘除做加法

    思路: 利用位运算 C++: #include <iostream> using namespace std; int main() { , b = ; int sum, carry; d ...

  9. python27+django1.9创建app的视图及实现动态页面

    一.简易静态视图 views文件里写: from django.http import HttpResponse def hello(request): return HttpResponse(&qu ...

  10. Downloading the Source

    The Android source tree is located in a Git repository hosted by Google. This document  describes ho ...