信息
- ID
- 2842
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 8
- 标签
- 递交数
- 70
- 已通过
- 13
- 上传者
/*****************************************
Note:
******************************************/
#include <queue>
#include <set>
#include <math.h>
#include <stack>
#include <stdio.h>
#include <iostream>
#include <vector>
#include <iomanip>
#include <string.h>
#include <algorithm>
#include <cstdio>
#include <cstring>
using namespace std;
#define LL long long
const int N = 1e6 + 10;
const int INF = 0x3f3f3f3f;
char a[10][10];
int dx[8]={1,-1,0,0,-1,-1,1,1};
int dy[8]={0,0,1,-1,1,-1,1,-1};
int maxn=0;
int find(int xx,int yy)
{
int sum=0;
for(int i=0;i<8;++i)
{
int x=xx+dx[i];
int y=yy+dy[i];
if(x<1||x>8||y<1||y>8)
continue;
if(a[x][y]=='.'||a[x][y]=='B')
continue;
if(a[x][y]=='W')
{
int num=0;
while(x>0&&x<=8&&y>0&&y<=8&&a[x][y]=='W')
{
num++;
x+=dx[i],y+=dy[i];
}
if(x<=0||x>8||y<=0||y>8)
continue;
if(a[x][y]=='B')
sum+=num;
}
}
return sum;
}
int main()
{
for(int i=1;i<=8;++i)
for(int j=1;j<=8;++j)
cin>>a[i][j];
for(int i=1;i<=8;++i)
for(int j=1;j<=8;++j)
if(a[i][j]=='.')
maxn=max(maxn,find(i,j));
cout<<maxn<<endl;
return 0;
}