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]字符串类型记得使用ansistring !!!!!!!!!!!!!!!!

Posted by SinTASO at 2015-09-29 21:10:14 on Problem 1458
因为string类型最长才255,不够的。
——————————————————————————
以下是ac代码:
{Program poj1458;
Const
  maxn=400;
Var
  i,j,k,n,m,p:longint;
  A,B:array[0..maxn]of longint;
  F:array[0..maxn,0..maxn]of longint;
  S:ansistring;
{}Procedure ins(ch:char;p:longint);
  begin
    if p=1
      then begin
        inc(A[0]);
        A[A[0]]:=ord(ch);
      end
      else begin
        inc(B[0]);
        B[B[0]]:=ord(ch);
      end;
  end;
{}Function max(a,b:longint):longint;
  begin
    if a<b then exit(b);
    exit(a);
  end;
Begin
  while true do begin
    readln(S);
    if length(S)=0 then halt;
    fillchar(A,sizeof(A),0);
    fillchar(B,sizeof(B),0);
    fillchar(F,sizeof(F),0);
    p:=1;
    for i:=1 to length(S) do
      case S[i] of
        'a'..'z':ins(S[i],p);
        else p:=2;
      end;
    for i:=1 to A[0] do
      for j:=1 to B[0] do begin
        if A[i]=B[j]
          then F[i,j]:=max(F[i-1,j],max(F[i-1,j-1]+1,F[i,j-1]))
          else F[i,j]:=max(F[i-1,j],max(F[i-1,j-1],  F[i,j-1]));
      end;
    writeln(F[A[0],B[0]]);
  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