From f2d4bc6b7c302dee2d84a3acf84b83b5a98c45fa Mon Sep 17 00:00:00 2001 From: Raphael McSinyx Date: Mon, 20 Feb 2017 10:33:39 +0700 Subject: More parentheses --- others/volume1/037.pas | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 others/volume1/037.pas (limited to 'others/volume1') diff --git a/others/volume1/037.pas b/others/volume1/037.pas new file mode 100644 index 0000000..d51e0d3 --- /dev/null +++ b/others/volume1/037.pas @@ -0,0 +1,41 @@ +var + s: ansistring; + + +function bracket( + s: ansistring; + l, h: integer +): integer; + + var + i, tmp: integer; + + begin + if l > h then + exit(0); + bracket := -1; + repeat + tmp := 0; + for i := l to h do + begin + if s[i] = '(' then + dec(tmp) + else + inc(tmp); + if tmp = 0 then + begin + tmp := succ(bracket(s, succ(l), pred(i))); + if tmp > bracket then + bracket := tmp; + l := succ(i); + break + end + end; + until l > h; + end; + + +begin + readln(s); + writeln(bracket(s, 1, length(s))) +end. -- cgit 1.4.1