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

pascal发了8次才AC

Posted by radicalk at 2013-08-13 15:49:53 on Problem 2488
原来样例里的“Scenario”和空行都是有的哈
const dy:array[1..8] of -2..2=(-2,-2,-1,-1,1,1,2,2);
      dx:array[1..8] of -2..2=(-1,1,-2,2,-2,2,-1,1);
var m,n,l,f:longint;
  t:boolean;
  b:array[-1..1001,-1..1001] of boolean;
  a:array[-1..1001] of longint;
  c:array[-1..1001] of char;
procedure print;
var i,j:longint;
begin
  writeln('Scenario #',f,':');
  for i:=1 to m*n do
    write(c[i],a[i]);
  writeln;
  writeln;
  t:=false;
end;

procedure search(x,y,z:longint);
var i,j,k:longint;
begin
  if not(t) then exit;
  if z>m*n then begin print;exit;end;
  for i:=1 to 8 do
    begin
      j:=x+dx[i];k:=y+dy[i];
      if (j<=m)and(j>=1)and(k<=n)and(k>=1)and(b[j,k]) then
      begin
        b[j,k]:=false;
        a[z]:=j;
        c[z]:=chr(ord(k+64));
        search(j,k,z+1);
        if not(t) then exit;
        a[z]:=0;
        b[j,k]:=true;
        c[z]:=' ';
      end;
    end;
end;
begin
  readln(l);
  for f:=1 to l do
    begin
      fillchar(a,sizeof(a),0);
      fillchar(b,sizeof(b),true);
      fillchar(c,sizeof(c),' ');
      t:=true;
      readln(m,n);
      a[1]:=1;
      c[1]:='A';
      b[1,1]:=false;
      search(1,1,2);
      if t then
      begin
        writeln('Scenario #',f,':');
        writeln('impossible');
        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