【usaco 2012 Nov Bronze】找奶牛Find the Cow!

题目:

     奶牛贝里斯最近逃离了农夫约翰的农场躲在草丛里。于是,农夫约翰试图去找回他的奶牛。不幸的是,这些高高的草丛挡住了约翰的视线。现在,我们把这些草丛描述为一个长度为N的字符串,这个字符串只包含‘(’和‘)’这两种字符。例如,字符串:)((()())()) 。约翰知道贝里斯隐藏的前大腿很像连续的两个左括号((,隐藏的后大腿很像连续的两个右括号))。贝里斯的位置可以描述为:((的位置为X,))的位置为Y,并且X

问题描述:

     请帮助约翰计算贝里斯隐藏的地方有多少种可能。

题解

  枚举。

代码

var
  s,t:ansistring;
  a,b:array[1..500000] of longint;
  i,l,r,j,sum,ans:longint;
begin
  assign(input,'cowfind.in');reset(input);
  assign(output,'cowfind.out');rewrite(output);
  readln(s);t:=s;
  for i:=1 to length(s)-1 do
    begin
      t:=copy(s,i,2);
      if t='((' then inc(ans);
      if t='))' then sum:=sum+ans;
    end;
  writeln(sum);
  close(input);close(output);
end.

你可能感兴趣的:(2016暑假中山)