ghostdd 2008-09-29 09:28:00
点我顶贴
收藏
删除
我前面的点能够过去
但是7 10 两个死循环的过不去 很费解
我判断方法是:
访问过第K行则标记
如果当前目标行被标记过则为死循环
烦请大牛指点一下是否有不够缜密的地方
地地不胜感激
#1 ghostdd@2008-09-29 08:13:00
6313
回复
删除
program p226;
var
a:array[1..200]of ansistring;
k:array[1..200]of longint;
s,x,p,l,i,n:longint;
procedure fuck(p:longint);
var
code:integer;
begin
l:=length(a[p])-4;
x:=0;
a[p]:=copy(a[p],5,l);
val(a[p],x,code);
end;
begin
readln(n);
for i:=1 to n do
begin
readln(a[i]);
end;
for i:=1 to n do
k[i]:=1;
s:=1;p:=1;
while p<>n do
begin
if k[p]=1 then k[p]:=0
else begin writeln(0);halt; end;
if (ord(a[p][1])=106) and (ord(a[p][2])=109) and (ord(a[p][3])=112) and (ord(a[p][4])=32) then begin fuck(p);p:=x; end
else p:=p+1;
s:=s+1;
end;
if (s=200) or (s=20) then writeln(0)
else writeln(s);
end.
程序有点点冗余 各位见谅~~~小弟还是新手
如果有关于程序习惯方面的问题也希望大家给予指点