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

z55250825

一只蒟蒻

 
 
 

日志

 
 

逃跑的拉尔夫【怨念】  

2013-10-09 22:38:42|  分类: AC题目 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
program laerfu;
var r,c,n:longint;
    map:array[1..50,1..50]of longint;
    f:array[1..50,1..50]of boolean;
    x,y:longint;
    mx:array[1..4]of longint=(0,-1,0,1);
    my:array[1..4]of longint=(-1,0,1,0);
    d:array[1..1000]of longint;
procedure init;
var i,j:longint;
    ch:char;
begin
  read(r);readln(c);
  for i:=1 to r do
   begin
     for j:=1 to c do
       begin
         read(ch);
         if ch='.' then map[i,j]:=0;
         if ch='X' then map[i,j]:=1;
         if ch='*' then begin
                       map[i,j]:=0;
                       x:=i;y:=j;
                        end;
       end;
     readln;
   end;
  readln(n);
  for i:=1 to n do
    begin
      readln(ch);
      if ch='N' then d[i]:=1;
      if ch='W' then d[i]:=2;
      if ch='S' then d[i]:=3;
      if ch='E' then d[i]:=4;
    end;
end;

procedure bfs;
var xx,yy,di:array[0..10000]of longint;
    ll,rr:longint;
    u,v,w:longint;
    i,j:longint;
begin
  fillchar(xx,sizeof(xx),0);
  fillchar(yy,sizeof(yy),0);
  fillchar(di,sizeof(di),0);
  for i:=1 to r do
    for j:=1 to c do
      f[i,j]:=false;
  ll:=0;rr:=0;
  xx[0]:=x;yy[0]:=y;di[0]:=1;
  repeat
    u:=xx[ll];v:=yy[ll];w:=di[ll];
    while (u+my[d[w]]<=r) and (u+my[d[w]]>=1) and (v+mx[d[w]]<=c)
      and (v+mx[d[w]]>=1) and (map[u+my[d[w]],v+mx[d[w]]]<>1) do
       begin
         u:=u+my[d[w]];v:=v+mx[d[w]];
         if w=n then f[u,v]:=true
                else if map[u+my[d[w+1]],v+mx[d[w+1]]]<>1 then
                  begin rr:=(rr+1)mod 10001;
                        xx[rr]:=u;yy[rr]:=v;di[rr]:=w+1;
                  end;
       end;
    ll:=(ll+1)mod 10001;
  until ll=(rr+1)mod 10001;
  for i:=1 to r do
   begin
    for j:=1 to c do
      if map[i,j]=1 then write('X')
       else if f[i,j] then write('*')
                      else write('.');
    writeln;
   end;
end;

begin
  init;
  bfs;
end.

  评论这张
 
阅读(58)| 评论(0)
推荐 转载

历史上的今天

评论

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

页脚

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