题目看这里:Broken Necklace 这道题我ws地写了52行的枚举... { ID:asdcyt01 PROB:beads LANG:PASCAL } program beads(input,output); var n,i,x,y,max,b1,b2:longint; xx,yy:longint; a:array[-1000..1000]of char; b:array[-1000..1000]of longint; begin assign(input,'beads.in');reset(input); assign(output,'beads.out');rewrite(output); readln(n); for i:=1 to n do begin read(a[i]); b[i]:=i; end; for i:=1 to n do begin a[i-n]:=a[i]; b[i-n]:=i-n; a[i+n]:=a[i]; b[i+n]:=i+n; end; max:=0; for i:=1 to n do begin x:=i-1;y:=i; xx:=i-1;yy:=i; b1:=0;b2:=0; while a[xx]='w' do dec(xx); while a[yy]='w' do inc(yy); while (a[x]=a[xx]) or (a[x]='w')do begin inc(b1); dec(x); end; while (a[y]=a[yy]) or (a[y]='w')do begin inc(b2); inc(y); end; if b1+b2>max then max:=b1+b2; if max>n then max:=n; end; writeln(max); close(input); close(output); end .