讨论 / 用枚举看的更清楚些。按步骤模拟就ok。。用val过程。。
yangdong 2010-05-10 04:37:00
点我顶贴 收藏 删除
type fang=(n,e,s,w);

var i,m,x,code,y,l,mm:longint;

fx:fang;

ss:string;

procedure zhuan(f:string);

begin

if f='left' then if fx=n then fx:=w else dec(fx);

if f='right' then if fx=w then fx:=n else inc(fx);

end;

begin

readln(m); x:=0;y:=0; fx:=n;

for i:=1 to m do

begin

readln(ss);

val(ss,l,code);

if code >0 then zhuan(ss)

else begin

inc(mm);

case fx of

n:y:=y+l;

e:x:=x+l;

s:y:=y-l;

w:x:=x-l;

end;

writeln('(',x,',',y,')')

end;

end;

if mm=0 then writeln('(0,0)')

end.

以上。。。。

#1 luoxiangyu@2010-05-10 04:37:00
回复 删除
回复 楼主yangdong 的帖子

很阴啊

第四个点最后必须加一个回车,因为第四个点全是left和right,对于那些边输入边输出的

朋友们,在最后如果判断全是转弯的时候,输出必须是writeln而不是write

查看更多回复
提交回复