hidden.pas

来自「Magio牛的usaco源代码」· PAS 代码 · 共 45 行

PAS
45
字号
{
ID:maigoak1
PROG:hidden
}

program hidden;
const
  maxl=100000;
var
  fin,fout:text;
  c:array[0..maxl*2-1]of char;
  l,i,j,k:longint;
begin
  assign(fin,'hidden.in');
  reset(fin);
  readln(fin,l);
  for i:=0 to l-1 do begin
    repeat
      read(fin,c[i]);
    until c[i]>='a';
    c[i+l]:=c[i];
  end;
  close(fin);

  i:=0;j:=1;
  repeat
    k:=0;
    while (c[i+k]=c[j+k]) and (k<l) do
      inc(k);
    if k=l then break;
    if c[i+k]>c[j+k] then begin
      i:=j;j:=i+1;
    end
    else begin
      inc(j,k+1);
      if j>=l then break;
    end;
  until false;

  assign(fout,'hidden.out');
  rewrite(fout);
  writeln(fout,i);
  close(fout);
end.

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?