Problem2685--Horseshoes[USACO-2012-Nov-B]

2685: Horseshoes[USACO-2012-Nov-B]

Time Limit: 1 Sec  Memory Limit: 128 MB
Submit: 0  Solved: 0
[Status] [Submit] [Creator:]

Description

奶牛Bessie觉得尽管对称括号看起来让人愉悦,但是她还是更喜欢完美对称括号,完成对称括号的意思是:字符串中一串"("后面跟着相同数量的一串")",例如:(((()))).
一天,当Bessie在农场散步的时候,她发现了一个N*N的网格的马蹄铁,每个马蹄铁都可以看做是一个"("或者")"。
Bessie从网格的左上角开始走,走到一个格子捡起一个马蹄铁,所以她捡起的所有马蹄铁可以组成一个字符串,她希望这个字符串是一个完美对称括号。请帮助Bessie计算一下在过程中她能够获得的完美对称括号的字符串的最大长度是多少?
每一步,Bessie都可以向上、下、左、右四个方向移动。她只能向有马蹄铁的方格移动,当她移动到有马蹄铁的方格并捡起马蹄铁后,她就不能再回到这个方格了,因为此时这个方格已经没有马蹄铁了。
她从网格的左上角开始走,Bessie只需要形成一个完美对称括号即可,她可能不需要把所有的方格的马蹄铁都捡完。

Input

第一行,一个整数N,2≤N≤5
接下面N行,每行N个字符,描述了N*N的网格中马蹄铁,每个字符是"("或者是")"

Output

一行,一个整数,表示Bessie能够获得的完美对称括号的最大字符串长度。如果Bessie获取不到完美对称括号(例如,当左上角的第一个方格的马蹄铁是")" ),则结果输出0

Sample Input Copy

4
(())
()((
(()(
))))

Sample Output Copy

8

HINT

样例说明:
Bessie获得了长度为8的完美对称括号的路线如下:
1())
2)((
345(
876)

Source/Category