1 条题解
-
0黄培钧 (huangpeijun) LV 7 @ 2022-10-27 21:07:18
/***************************************** 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; }
- 1
信息
- ID
- 2842
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 8
- 标签
- 递交数
- 70
- 已通过
- 13
- 上传者