hdoj 5335 Walk Out
题目链接: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的更多相关文章
- BFS+贪心 HDOJ 5335 Walk Out
题目传送门 /* 题意:求从(1, 1)走到(n, m)的二进制路径值最小 BFS+贪心:按照标程的作法,首先BFS搜索所有相邻0的位置,直到1出现.接下去从最靠近终点的1开始, 每一次走一步,不走回 ...
- hdu 5335 Walk Out (搜索)
题目链接: hdu 5335 Walk Out 题目描述: 有一个n*m由0 or 1组成的矩形,探险家要从(1,1)走到(n, m),可以向上下左右四个方向走,但是探险家就是不走寻常路,他想让他所走 ...
- 离散化+BFS HDOJ 4444 Walk
题目传送门 /* 题意:问一个点到另一个点的最少转向次数. 坐标离散化+BFS:因为数据很大,先对坐标离散化后,三维(有方向的)BFS 关键理解坐标离散化,BFS部分可参考HDOJ_1728 */ # ...
- HDU 5335——Walk Out——————【贪心】
Walk Out Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Su ...
- HDU 5335 Walk Out(多校)
Walk Out Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Su ...
- hdu 5335 Walk Out (2015 Multi-University Training Contest 4)
Walk Out Time Limit: 2000/10 ...
- hdu 5335 Walk Out 搜索+贪心
Walk Out Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others) Total S ...
- 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 ...
- HDOJ 5001 Walk
概率DP dp[j][d] 表示不经过i点走d步到j的概率, dp[j][d]=sigma ( dp[k][d-1] * Probability ) ans = sigma ( dp[j][D] ) ...
随机推荐
- string tips
1. .net文档中说,split 比 indexOf 消耗更多的性能.在as3中经过本人测试,这个结论一样成立.而且,字符串越长,split和indexOf的差距就越明显!!所以,能用indexOf ...
- IOS设计模式之二(门面模式,装饰器模式)
本文原文请见:http://www.raywenderlich.com/46988/ios-design-patterns. 由 @krq_tiger(http://weibo.com/xmuzyq) ...
- linux下安装虚拟机qemu kqemu
一,为什么要装虚拟机,为什么选择qemu 我的系统里面有3个linux系统,这些系统都是独立的,有的时候,我想一台电脑,能更真实的模拟二台,这个时候我们就可以装个虚拟机.其实如果真的很有钱的话,可能考 ...
- Oracle RAC OCR 与健忘症
OCR就好比Windows的一个注册表,存储了所有与集群,RAC数据库相关的配置信息.而且是公用的配置,也就是说多个节点共享相同的配置信息.因此该配置应当存储于共享磁盘.本文主要基于Oracle 10 ...
- aspose.word 查找文本并加下划线
private Run SplitRun(Run run, int position) { Run beforeRun = (Run)run.Clone(true); beforeRun.Text = ...
- C#的Timer
PowerCoder 原文 C#的Timer 再C#里现在有3个Timer类: System.Windows.Forms.Timer System.Threading.Timer System.Tim ...
- 用标准C编写COM(一)
cdllbufferstruct编译器微软 目录(?)[-] 简介 COM对象和虚表 GUID QueryInterfaceAddRef and Release IClassFactory对象 打包到 ...
- TextView------文字底部或者中间加横线
promotionLinkText = (TextView) this .findViewById(R.id. text_promotion_link ); 中间加横线 promotionLinkTe ...
- 基于Web的数据推送技术(转)
基于Web的数据推送技术 对于实时性数据显示要求比较高的系统,比如竞价,股票行情,实时聊天等,我们的解决方案有以下几种.1. HTTP请求发送模式,一般可以基于ajax的请求,比如每3秒一次访问下服务 ...
- C++中,申请字符串数组可用new实现
C++中,申请字符串数组可用new实现: char ** list = new char*[MAX_NUM]; for (int i = 0; i< MAX_LOOP; i++) list[i] ...