Online JudgeProblem SetAuthorsOnline ContestsUser
Web Board
Home Page
F.A.Qs
Statistical Charts
Problems
Submit Problem
Online Status
Prob.ID:
Register
Update your info
Authors ranklist
Current Contest
Past Contests
Scheduled Contests
Award Contest
User ID:
Password:
  Register

为什么我总是Run time error....

Posted by Ruser at 2005-07-18 00:30:27 on Problem 2488
我自己测所有的数据可能情况.都没有出现Run time error....
这个是我的程序.
type
word=longint;
integer=longint;
const
fx:array[1..8] of integer=(-1,1,-2,2,-2,2,-1,1);
fy:array[1..8] of integer=(-2,-2,-1,-1,1,1,2,2);
maxn=34;
var
a:array[1..maxn,1..maxn] of boolean;
m,n,time,t,nowx,nowy,tx,ty,i,j,k,tt:longint;
pathx,pathy,temp:string;
flag:boolean;
Procedure init;
  begin
  fillchar(a,sizeof(a),false);
  read(m,n);
  for i:=1 to m do
   for j:=1 to n do a[i,j]:=true;
  end;
Procedure print;
var
 tt,code:integer;
 begin
  writeln('Scenario #',time,':');
    for i:=1 to length(pathx) do
    begin
    val(pathy[i],tt,code);
    write(chr(tt+ord('A')-1),pathx[i]);
    end;
  writeln;
  writeln;
  flag:=true;
  end;
Procedure try(dep:integer);
var
  i:integer;
    begin
    if flag then exit;
    for i:=1 to 8 do
      begin
      tx:=nowx+fx[i];
      ty:=nowy+fy[i];
      if (tx in [1..m])and(ty in [1..n]) then
      if a[tx,ty] then
         begin
         nowx:=tx;
         nowy:=ty;
         a[tx,ty]:=false;
         inc(dep);
         str(nowx,temp);
         pathx:=pathx+temp;
         str(nowy,temp);
         pathy:=pathy+temp;
         if dep=m*n then print else try(dep);
         a[nowx,nowy]:=true;
         nowx:=nowx-fx[i];
         nowy:=nowy-fy[i];
         delete(pathx,length(pathx),1);
         delete(pathy,length(pathy),1);
         dec(dep);
         if flag then exit;
         end;
      end;
    end;
Procedure main;
  begin
  nowx:=1;
  nowy:=1;
  pathx:='1';
  pathy:='1';
  a[1,1]:=false;
  flag:=false;
  try(1);
  end;
Begin
read(tt);
for time:=1 to tt do
begin
 init;
 if (n<>1)or(m<>1) then
     begin
     main;
     if not flag then
       begin
       writeln('Scenario #',time,':');
       writeln('impossible');
       writeln;
       end;
     end
     else
 begin
 writeln('Scenario #',time,':');
 writeln('A1');
 writeln;
 end;
end;
End.

Followed by:

Post your reply here:
User ID:
Password:
Title:

Content:

Home Page   Go Back  To top


All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator