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

把程序写成这样。。。

Posted by isotope at 2006-01-16 11:11:55 on Problem 1002
In Reply To:有Pascal高手帮忙看一下好么?总是WA?为什么啊? Posted by:test891211 at 2006-01-16 11:01:38
> 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