题目意思2个人走? 8*8 的地图? 谁先走到第一个谁先赢
W只能往上走 , B 只能往下走? (棋子被挡住了就无法走了)
#include"bits/stdc++.h"
#define ll long long
#define pi pair<int,int>
#define inf 0x3f3f3f3f
#define _for(i,a,b) for(int i=a;i<=b;i++)
#define for_(i,a,b) for(int i=a;i<b;i++)
#define inf 0x3f3f3f3f
#define IOS ios::sync_with_stdio(false),cin.tie(0),cout.tie(0)
using namespace std;
const int N = 1e5+5;
const ll mod = 1e9+7;
map<int,int>mp;
char s[10][10];
void solve(){
for_(i,0,8) cin >> s[i];
int a=inf,b=inf;
for(int i=0 ;i < 8 ; i++){
for(int j=0 ;j<8;j++){
if(s[i][j] == 'W'){
bool f = 0;
for(int k=i-1;k>=0;k--)
if(s[k][j]!='.') f=1;
if(!f) a = min(a,i);
}
}
}
for(int i=0 ;i < 8 ; i++){
for(int j=0 ;j<8;j++){
if(s[i][j] == 'B'){
bool f = 0;
for(int k=i+1;k<8;k++)
if(s[k][j]!='.') f=1;
if(!f) b = min(b,7-i);
}
}
}
if(a<=b) puts("A");
else puts("B");
}
int main(){
IOS;
solve();
return 0;
}
|