Cod sursa(job #13650)

Utilizator floringh06Florin Ghesu floringh06 Data 7 februarie 2007 12:18:56
Problema Text Scor 30
Compilator fpc Status done
Runda Arhiva de probleme Marime 4.19 kb
{$IFDEF NORMAL}
  {$I-,Q-,R-,S-}
{$ENDIF NORMAL}
{$IFDEF DEBUG}
  {$I+,Q+,R+,S-}
{$ENDIF DEBUG}
{$IFDEF RELEASE}
  {$I-,Q-,R-,S-}
{$ENDIF RELEASE}

type as=ansistring;
var fi,fo:text;
    a,s:as;
    nc,nl,rez:longword;
          ok:boolean;

  function min(i,j:longword):longword;
    begin
     if i=0 then begin min:=j; exit; end;
     if j=0 then begin min:=i; exit; end;
     if i>j then min:=j
       else min:=i;
    end;



  procedure taie;
   begin
    while pos(',',s)<>0 do
      delete(s,pos(',',s),1);
    while pos('.',s)<>0 do
      delete(s,pos('.',s),1);
    while pos('!',s)<>0 do
      delete(s,pos('!',s),1);
    while pos('?',s)<>0 do
      delete(s,pos('?',s),1);
    while pos(';',s)<>0 do
      delete(s,pos(';',s),1);
    while pos(':',s)<>0 do
      delete(s,pos(':',s),1);
    while pos('(',s)<>0 do
      delete(s,pos('(',s),1);
    while pos(')',s)<>0 do
      delete(s,pos(')',s),1);
    while pos('"',s)<>0 do
      delete(s,pos('"',s),1);
    while pos('/',s)<>0 do
      delete(s,pos('/',s),1);
    while pos(']',s)<>0 do
      delete(s,pos(']',s),1);
    while pos('[',s)<>0 do
      delete(s,pos('[',s),1);
    while pos('0 ',s)<>0 do
      delete(s,pos('0 ',s),1);
    while pos('1 ',s)<>0 do
      delete(s,pos('1 ',s),1);
    while pos('2 ',s)<>0 do
      delete(s,pos('2 ',s),1);
    while pos('3 ',s)<>0 do
      delete(s,pos('3 ',s),1);
    while pos('4 ',s)<>0 do
      delete(s,pos('4 ',s),1);
    while pos('5 ',s)<>0 do
      delete(s,pos('5 ',s),1);
     while pos('6 ',s)<>0 do
      delete(s,pos('6 ',s),1);
    while pos('7 ',s)<>0 do
      delete(s,pos('7 ',s),1);
    while pos('8 ',s)<>0 do
      delete(s,pos('8 ',s),1);
    while pos('9 ',s)<>0 do
      delete(s,pos('9 ',s),1);
    while pos(' 0',s)<>0 do
      delete(s,pos(' 0',s),1);
    while pos(' 1',s)<>0 do
      delete(s,pos(' 1',s),1);
    while pos(' 2',s)<>0 do
      delete(s,pos(' 2',s),1);
    while pos(' 3',s)<>0 do
      delete(s,pos(' 3',s),1);
    while pos(' 4',s)<>0 do
      delete(s,pos(' 4',s),1);
    while pos(' 5',s)<>0 do
      delete(s,pos(' 5',s),1);
     while pos(' 6',s)<>0 do
      delete(s,pos(' 6',s),1);
    while pos(' 7',s)<>0 do
      delete(s,pos(' 7',s),1);
    while pos(' 8',s)<>0 do
      delete(s,pos(' 8',s),1);
    while pos(' 9',s)<>0 do
      delete(s,pos(' 9',s),1);
    while pos('0',s)<>0 do
      delete(s,pos('0',s),1);
    while pos('1',s)<>0 do
      delete(s,pos('1',s),1);
    while pos('2',s)<>0 do
      delete(s,pos('2',s),1);
    while pos('3',s)<>0 do
      delete(s,pos('3',s),1);
    while pos('4',s)<>0 do
      delete(s,pos('4',s),1);
    while pos('5',s)<>0 do
      delete(s,pos('5',s),1);
     while pos('6',s)<>0 do
      delete(s,pos('6',s),1);
    while pos('7',s)<>0 do
      delete(s,pos('7',s),1);
    while pos('8',s)<>0 do
      delete(s,pos('8',s),1);
    while pos('9',s)<>0 do
      delete(s,pos('9',s),1);
   end;


 procedure solve;
   var i,j,c,sp,ln:longword;
    begin
     i:=1;
     sp:=0;
     ln:=0;
     for i:=1 to 10 do
       if s[i] in[('A')..('Z')] then
         begin
          delete(s,1,i-1);
          break;
         end
       else
        if s[i] in[('a')..('z')] then
         begin
          delete(s,1,i-1);
          break;
         end;
       ok:=false;
       nc:=1;

       while pos('- ',s)<>0 do
          delete(s,pos('- ',s),1);
       while ok=false do
         begin
           while pos('-',s)<>0 do
            begin
              if s[pos('-',s)+1]=' ' then
              delete(s,pos('-',s),2)
              else delete(s,pos('-',s),1);
              inc(nc);
            end;
           while pos(' ',s)<>0 do
            begin
               if s[pos(' ',s)+1]=' ' then
               delete(s,pos(' ',s),2)
               else delete(s,pos(' ',s),1);
               inc(nc);
            end;
           ok:=true;
         end;
       nl:=length(s);
       rez:=trunc(nl/nc);
      end;


begin
 assign(fi,'text.in'); reset(fi);
 assign(fo,'text.out'); rewrite(fo);
 read(fi,a);
 s:=a;
 taie;
 solve;
{ writeln(fo,nl);
 writeln(fo,nc);}
 writeln(fo,rez);
close(fi);
close(fo);
end.