#include<stdio.h>
#include<string.h>
int main()
{
int k;
scanf("%d", &k);
while (k--)
{
int n,ac,m,l,count1=0,count2=0,flag=0;
char f[16][16] = { '\0' };
scanf("%d", &n);
for (int i = 0; i < n; i++)
{
scanf("%s", f[i]);
}
for (int i = 0; i < n; i++)
{
for (int j = 0; j < n; j++)
{
if (f[i][j] == 'B')flag = 1;
if (f[i][j] == 'W') flag = 0;
if (f[i][j] == '.')continue;
ac = 1,l=j;
while ((l+1 < n)&&f[i][l+1]==f[i][l])
{
ac++;
l++;
}//横条
if (ac == 3 && flag == 1)count1++;
if (ac == 3 && flag == 0)count2++;
ac = 1, m = i;
while ((m+1 < n) && f[m + 1][j] == f[m][j])
{
ac++;
m++;
}
if (ac == 3 && flag == 1)count1++;
if (ac == 3 && flag == 0)count2++;
ac = 1, m = i, l = j;
while ((m+1 < n) && (l+1 < n) && f[m + 1][l + 1] == f[m][l])
{
ac++;
m++, l++;
}
if (ac == 3 && flag == 1)count1++;
if (ac == 3 && flag == 0)count2++;
ac = 1, m = i, l = j;
while ((m+1 <n) && (l-1 >= 0) && f[m + 1][l - 1] == f[m][l])
{
ac++;
m++, l--;
}
if (ac == 3 && flag == 1)count1++;
if (ac == 3 && flag == 0)count2++;
}
}
printf("%d %d\n",count1,count2);
memset(f, '\0', sizeof(f));
}
return 0;
}
xtu 1440 黑棋与白棋
最新推荐文章于 2024-07-15 22:10:26 发布