WAC595.夏洛克和括号

传统题 时间 2000 ms 内存 256 MiB 5 尝试 1 已通过 1 标签

夏洛克和括号

夏洛克和华生最近参加了计算机编程课程。

今天,导师教了他们平衡括号问题。

一个仅由字符构成的字符串 SS,在满足以下一个或多个条件时,被认为是平衡字符串:

1、它是空字符串。

2、它具有形式(SS),其中S是平衡字符串。

3、它的形式为 S_1S_2S\_1S\_2,其中 S_1S\_1 是平衡字符串,S_2S\_2 是平衡字符串。

夏洛克非常迅速地编写出了解决方案并吹嘘自己的方案很厉害,所以华生给他出了一个问题。

他要求夏洛克生成一个 L+RL + R 字符的字符串 SS,其中包含 LL 个左括号以及 RR 个右括号。

此外,字符串必须具有尽可能多的不同的平衡非空子串。 (两个子串即使内容恰好相同,只要在字符串的不同索引处开始或结束,就被认为是不同的)。

请注意,SS 本身不一定平衡。

夏洛克确信,一旦他知道平衡非空子串的最大可能数量,他就能解决问题。

你能帮他找到这个最大数量吗?

输入格式

第一行包含整数 TT,表示共有 TT 组测试数据。

每组数据占一行,包含两个整数 LLRR

输出格式

每组数据输出一个结果,每个结果占一行。

结果表示为 Case #x: y,其中 xx 是组别编号(从 11 开始),yy 是平衡非空子串的最大可能数量。

数据范围

1T1001 \le T \le 100,

0L,R1050 \le L,R \le 10^5,

1L+R1051 \le L+R \le 10^5

样例解释

在案例 11 中,唯一可能的字符串是 (。没有平衡非空子串。

在案例 22 中,最佳字符串是 ()。 只有一个平衡非空子字符串:整个字符串本身。

在案例 33 中,最佳字符串为 ()()( 或者 (()()

Samples

3
1 0
1 1
3 2
Case #1: 0
Case #2: 1
Case #3: 3

在线编程 IDE

建议全屏模式获得最佳体验