字符串处理是我最头疼的问题,最初代码很丑,
其实,对于字符串处理问题,无非就是模拟,注意边界
丑丑的 代码
program O_O;
uses math;
var
i,j,k,n,m,l,sum1,sum2:longint;
s:ansistring;
a,b:array[1..300] of string;
tot,num:longint;
ss:set of char;
begin
readln(n);
readln(s);
s:=s+'('+')';
ss:=['A'..'Z','a'..'z'];
i:=1;l:=1;
while i<n do
begin
while (s[i]<>'(')and(i<n) do inc(i);
if s[i]='(' then
begin
j:=i;
while s[j]<>')' do inc(j);
for k:=i to j do
if not (s[k] in ss) then
inc(l)
else
a[l]:=a[l]+s[k];
end;
inc(i);
end;
for i:=1 to l do
if a[i]<>'' then
inc(sum1);
j:=1;l:=1; i:=1;
while (j<=n)and(i<=n) do
begin
while (j<n)and(s[j]<>'(') do inc(j);
if j>n+1 then break;
for k:=i to j do
if not (s[k] in ss) then
inc(l)
else
b[l]:=b[l]+s[k];
while s[i]<>')' do inc(i);
inc(i);inc(j);
end;
for i:=1 to l do
sum2:=max(sum2,length(b[i]));
writeln(sum2,' ',sum1);
end.
: