注册 登录  
 加关注
查看详情
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

z55250825

一只蒟蒻

 
 
 

日志

 
 

【简单搜索】【迷宫】  

2013-10-30 12:39:37|  分类: AC题目 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
   裸的搜索。练练手。
  program migong;
var map:array[0..101,0..101]of longint;
    v:array[0..101,0..101]of boolean;
    t,n,ha,la,hb,lb:longint;
    mx:array[1..4]of longint=(-1,0,1,0);
    my:array[1..4]of longint=(0,-1,0,1);
function dfs(x,y:longint):boolean;
var i:longint;
begin
  if (x=hb)and(y=lb) then exit(true);
  v[x,y]:=true;
  for i:=1 to 4 do
   if (not v[x+mx[i],y+my[i]])and(map[x+mx[i],y+my[i]]=0) then
     if dfs(x+mx[i],y+my[i]) then exit(true);
  exit(false);
end;

procedure init;
var i,j,k:longint;
    ch:char;
    f:boolean;
begin
 read(t);
 for i:=1 to t do
  begin
    readln(n);
    for j:=0 to n+1 do
      for k:=0 to n+1 do
        begin
         map[j,k]:=1;
         v[j,k]:=false;
        end;
    f:=false;
    for j:=1 to n do
     begin
      for k:=1 to n do
        begin
          read(ch);
          if ch='.' then map[j,k]:=0;
          v[j,k]:=false;
        end;
      readln;
     end;
    readln(ha,la,hb,lb);
    inc(ha);inc(la);inc(hb);inc(lb);
    if (map[ha,la]=1)or(map[hb,lb]=1) then
    begin writeln('NO');continue;end;
    if dfs(ha,la) then begin
                        writeln('YES');
                        f:=true;
                       end;
    if not f then writeln('NO');
  end;
end;

begin
  init;
end.
  评论这张
 
阅读(12)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018