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高手帮忙看一下好么?总是WA?为什么啊?

Posted by test891211 at 2006-01-16 11:01:38 on Problem 1002
Program PKU1002;

Var
  A:Array [-1..9999999] of Word;
  Help:Word;
  n,I,J,save:Longint;

Function Change(S:String):Longint;
var
  ii:integer;
  F:Boolean;
begin
  Change:=0;
  F:=False;
  save:=-1;
  {For ii:=1 to Length(S) do
    if S[i] in 

['0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','R','S','T','U','V',

'W','X','Y'] THEN
    F:=True;}
//If F then
//begin
  If Change<=999999 then
  For ii:=1 to Length(S) do
  begin
    Case S[ii] of
    '0':            Change:=Change*10;
    '1':            Change:=Change*10+1;
    '2','A','B','C':Change:=Change*10+2;
    '3','D','E','F':Change:=Change*10+3;
    '4','G','H','I':Change:=Change*10+4;
    '5','J','K','L':Change:=Change*10+5;
    '6','M','N','O':Change:=Change*10+6;
    '7','P','R','S':Change:=Change*10+7;
    '8','T','U','V':Change:=Change*10+8;
    '9','W','X','Y':Change:=Change*10+9;
    end;
  end;
//end
//else 
  if Change=0 then
    for ii:=1 to Length(S) do
      if S[ii]='0' then break
      else Change:=-1;
end;

procedure Init;
Var
  S:string;
  Result:Longint;
begin
  FillChar(A,SizeOf(A),0);
  Readln(n);
  For i:=1 to n do
  begin
    Readln(S);
    Result:=Change(S);
  If A[Result]<60000 then Inc(A[Result])
  else begin
    help:=59999;
    A[Result]:=2;
    save:=Result;
  end;
  end;
end;

procedure Main;
begin

end;

procedure Print;
var
  S:String;
  Find:Boolean;
begin
  Find:=False;
  For i:=0 to 9999999 do
  begin
  if A[i]>1 then
  begin
    Find:=True;
    Str(i,S);
    While Length(S)<7 do
      Insert('0',S,1);
    For j:=1 to 3 do write(S[J]);
    write('-');
    For j:=4 to 7 do write(S[J]);
    write(' ');
    if i=save then writeln(A[i]+help)
    else writeln(A[i]);
  end;
  end;
  if Not Find then Writeln('No duplicates.');
end;

begin
  Init;
  Main;
  Print;
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