车的可用捕获量
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; } };
以上是关于车的可用捕获量的主要内容,如果未能解决你的问题,请参考以下文章