|시간 제한||메모리 제한||제출||정답||맞은 사람||정답 비율|
|5 초||512 MB||5||5||5||100.000%|
Sherlock and Watson have recently enrolled in a computer programming course. Today, the tutor taught them about the balanced parentheses problem. A string
S consisting only of characters
) is balanced if:
), where S is a balanced string, or:
Sherlock coded up the solution very quickly and started bragging about how good he is, so Watson gave him a problem to test his knowledge. He asked Sherlock to generate a string S of L + R characters, in which there are a total of L left parentheses
( and a total of R right parentheses
). Moreover, the string must have as many different balanced non-empty substrings as possible. (Two substrings are considered different as long as they start or end at different indexes of the string, even if their content happens to be the same). Note that S itself does not have to be balanced.
Sherlock is sure that once he knows the maximum possible number of balanced non-empty substrings, he will be able to solve the problem. Can you help him find that maximum number?
The first line of the input gives the number of test cases, T. T test cases follow. Each test case consists of one line with two integers: L and R.
For each test case, output one line containing
Case #x: y, where
x is the test case number (starting from 1) and
y is the answer, as described above.
3 1 0 1 1 3 2
Case #1: 0 Case #2: 1 Case #3: 3
In Case 1, the only possible string is
(. There are no balanced non-empty substrings.
In Case 2, the optimal string is
(). There is only one balanced non-empty substring: the entire string itself.
In Case 3, both strings
(()() give the same optimal answer.
For the case
()()(, for example, the three balanced substrings are
() from indexes 1 to 2,
() from indexes 3 to 4, and
()() from indexes 1 to 4.