LeetCode 999. 车的可用捕获量

999. 车的可用捕获量

思路:先找车,然后4个方向找

class Solution {
public:
    int numRookCaptures(vector<vector<char>>& board) {
        int res=0;
        int row=board.size(), col=board[0].size();
        //找出车的位置
        int x=0,y=0,flag=0;
        for(x=0;x<row;x++){
            for(y=0;y<col;y++){
                if(board[x][y]=='R'){
                    flag=1;
                    break;
                }
            }
            if(flag) break;
        }
        cout<<x<<y<<endl;
        //上
        for(int i=1;x-i>=0;i++){
            if(board[x-i][y]=='B') break;//撞到自己的大象
            if(board[x-i][y]=='p'){res++;break;}//撞到对方士兵
        }
        cout<<res<<endl;
        //下
        for(int i=1;x+i<row;i++){
            if(board[x+i][y]=='B') break;//撞到自己的大象
            if(board[x+i][y]=='p'){res++;break;}//撞到对方士兵
        }
        cout<<res<<endl;
        //左
        for(int i=1;y-i>=0;i++){
            if(board[x][y-i]=='B') break;//撞到自己的大象
            if(board[x][y-i]=='p'){res++;break;}//撞到对方士兵
        }
        cout<<res<<endl;
        //右
        for(int i=1;y+i<col;i++){
            if(board[x][y+i]=='B') break;//撞到自己的大象
            if(board[x][y+i]=='p'){res++;break;}//撞到对方士兵
        }
        cout<<res<<endl;
        return res;
    }
};

 

发布了235 篇原创文章 · 获赞 27 · 访问量 3万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 大白 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览