zoukankan      html  css  js  c++  java
  • LeetCode "Design Tic-Tac-Toe"

    We don't have to keep a complete chess board.. just counters!

    class TicTacToe {
        vector<int> cntVer;
        vector<int> cntHor;
        int cntDiag0;
        int cntDiag1;
        int _n;
    public:
        /** Initialize your data structure here. */
        TicTacToe(int n) {
            cntVer.assign(n, 0);
            cntHor.assign(n, 0);
            cntDiag0 = cntDiag1 = 0;
            _n = n;
        }
        
        /** Player {player} makes a move at ({row}, {col}).
            @param row The row of the board.
            @param col The column of the board.
            @param player The player, can be either 1 or 2.
            @return The current winning condition, can be either:
                    0: No one wins.
                    1: Player 1 wins.
                    2: Player 2 wins. */
        int move(int row, int col, int player) 
        {
            int d = player == 1 ? 1 : -1;
            
            cntVer[col] += d;
            if(abs(cntVer[col]) == _n) return player;
                
            cntHor[row] += d;
            if(abs(cntHor[row]) == _n) return player;
            
            if(col== row)
            {
                cntDiag0 += d;
                if(abs(cntDiag0) == _n) return player;
            }
            if ((col + row) == _n - 1)
            {
                cntDiag1 += d;
                if(abs(cntDiag1) == _n) return player;
            }
                
            return 0;
        }
    };
  • 相关阅读:
    var_threshold
    一些动态绑定数据代码
    直线与圆的拟合测量
    圆的拟合__测量圆心距
    halcon骨架与xld的区分
    dyn_threshold
    模板匹配加测量Demo
    ToString 格式
    S7-200 运动控制
    环形图片识别
  • 原文地址:https://www.cnblogs.com/tonix/p/5468270.html
Copyright © 2011-2022 走看看