1379:国际象棋

时间限制: 1 S | 内存限制: 8192 KB
Accept: 0 | Submit: 0
[提交] [状态] [讨论版]
描述

在国际象棋中,“车”是一种可以上下或者左右方向移动的棋子。棋盘上面有一些墙,可以阻止墙两侧同一行或者同一列的两个“车”互相攻击。现在要求在棋盘上放置尽可能多的车(不能放在墙上),必须保证任意两个“车”之间都不能互相攻击到。

输入

一个正整数T,表示案例的数量。(T<=10)

每组案例先是一个正整数n,表示棋盘的大小是n*n。(n<=4)

然后是n行n列字符,每个字符要么是'.'表示棋盘,要么是'X'表示墙。

输出

针对每组案例,输出一个整数,表示棋盘上最多可以放置的“车”的数量。

每组案例输出完要换行。

样例输入

2

4

.X..

....

XX..

....

2

XX

.X

样例输出

5

1

HINT


来源
厦大附中编程竞赛培训