车的可用捕获量

Posted olajennings

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了车的可用捕获量相关的知识,希望对你有一定的参考价值。

给定一个8 * 8 的棋盘,棋盘上有白色的车,白色的像,空白格,黑色卒,分别用R,B,.,p表示

R可以向上下左右四个方向移动,遇到B的时候或者p的时候停止

分别求往四个方向上能遇到几个p

 

题目比较简单,就是找到R,然后四个方向走就是了。

https://leetcode-cn.com/problems/available-captures-for-rook/

 

class Solution {
public:
    int numRookCaptures(vector<vector<char>>& board) {
        int res = 0;
        for(int i = 0; i < 8; i++){
            for(int j = 0; j < 8; j++){
                if(board[i][j] == R){
                    for(int k = i-1; k >= 0; k--){
                        if(board[k][j] == p){
                            res++;
                            break;;
                        }
                        if(board[k][j] == B) break;
                    }
                    for(int k = i+1; k < 8; k++){
                        if(board[k][j] == p){
                            res++;
                            break;;
                        }
                        if(board[k][j] == B) break;
                    }
                    for(int k = j+1; k < 8; k++){
                        if(board[i][k] == p){
                             res++; 
                             break;
                        }
                        if(board[i][k] == B) break;
                    }
                    for(int k = j-1; k >= 0; k--){
                        if(board[i][k] == p){
                             res++; 
                             break;
                        }
                        if(board[i][k] == B) break;
                    }
                }
            }
        }
        return res;
    }
};

 

以上是关于车的可用捕获量的主要内容,如果未能解决你的问题,请参考以下文章

Leetcode 999. 车的可用捕获量

Leetcode车的可用捕获量(每日一题)

车的可用捕获量

999-车的可用捕获量

leetcode 999. 车的可用捕获量(Available Captures for Rook)

Leetcode-999 Available Captures for Rook(车的可用捕获量)