首页 > 试题广场 >

var s : string; ans, l1...

[填空题]
var
  s : string;
  ans, l1, r1, l2, r2, len : longint;
  bo : boolean;
function magic(l, r : longint) : int64;
var
  ans : int64;
  i : longint;
begin
  ans := 0;
  for i := l to r do
    ans := ans * 4 + ord(s[i+1]) - ord('a') + 1;
  exit(ans);
end;
begin
  read(s);
  len := length(s);
  ans := 0;
  for l1 := 0 to len - 1 do
    for r1 := l1 to len - 1 do
    begin
      bo := true;
    for l2 := 0 to len - 1 do
    for r2 := l2 to len - 1 do
    if (magic(l1, r1) = magic(l2, r2)) and ((l1 <> l2) or
      (r1 <> r2)) then
      bo := false;
      if bo = true then
        inc(ans);
    end;
  writeln(ans);
end.

输入:abacaba
输出:1

这道题你会答吗?花几分钟告诉大家答案吧!