題目傳送門
這個題不難就是讀懂題意需要耐心一點。
class Solution
{
public:
int north(int i,int j,vector<vector<char>>& board)
{
for(int a=i;a>=0;a--)
{
if(board[a][j]=='p')
{
return 1;
}
if(board[a][j]=='B')
{
return 0;
}
}
return 0;
}
int south(int i,int j,vector<vector<char>>& board)
{
for(int a=i;a<8;a++)
{
if(board[a][j]=='p')
{
return 1;
}
if(board[a][j]=='B')
{
return 0;
}
}
return 0;
}
int east(int i,int j,vector<vector<char>>& board)
{
for(int a=j;a<8;a++)
{
if(board[i][a]=='p')
{
return 1;
}
if(board[i][a]=='B')
{
return 0;
}
}
return 0;
}
int west(int i,int j,vector<vector<char>>& board)
{
for(int a=j;a>=0;a--)
{
if(board[i][a]=='p')
{
return 1;
}
if(board[i][a]=='B')
{
return 0;
}
}
return 0;
}
int numRookCaptures(vector<vector<char>>& board)
{
for(int i=0;i<8;i++)
{
for(int j=0;j<8;j++)
{
if(board[i][j]=='R')
{
return north(i,j,board)+south(i,j,board)+west(i,j,board)+east(i,j,board);
}
}
}
return 0;
}
};