675694756 2011-08-21 05:58:00
点我顶贴
收藏
删除
program beads;
var
m,max,i,j,k,n:integer;
a:array[0..1000] of char;
s:string;
function search(c:integer):integer;
var
x,p,q:integer;
begin
x:=1; p:=1;
for i:=c+1 to n do
begin
if p=2 then search:=x;
if a[c]=a[i] then x:=x+1;
if a[c]<>a[i] then p:=p+1;
end;
end;
begin
readln(n);
readln(s);
k:=0;
for j:=2 to n do
if s[1]=s[j] then k:=k+1;
if k=n-1 then begin
writeln(n);
exit;
end;
for i:=n downto 2 do
begin
if s[1]<>s[i] then begin
k:=i+1;
break;
end;
end;
for i:=1 to n-k+1 do
for j:=k to n do
a[i]:=s[j];
for i:=n-k+2 to k-1 do
for j:=1 to k-1 do
a[i]:=s[j];
k:=2;
for i:=n-1 downto 2 do
if a[n]=a[i] then k:=k+1;
for i:=1 to n do
if a[1]=a[i] then k:=k+1;
max:=k;
for i:=1 to n do
begin
m:=search(i); if m>max then max:=m;
end;
writeln(max);
end.