classTicTacToe:def__init__(self,n:int):""" Initialize your data structure here. """self.n=nself.counter=[[0]*((n<<1)+2)for_inrange(2)]defmove(self,row:int,col:int,player:int)->int:""" 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. """n=self.nself.counter[player-1][row]+=1self.counter[player-1][col+n]+=1ifrow==col:self.counter[player-1][n<<1]+=1ifrow+col==n-1:self.counter[player-1][(n<<1)+1]+=1if(self.counter[player-1][row]==norself.counter[player-1][col+n]==norself.counter[player-1][n<<1]==norself.counter[player-1][(n<<1)+1]==n):returnplayerreturn0# Your TicTacToe object will be instantiated and called as such:# obj = TicTacToe(n)# param_1 = obj.move(row,col,player)
classTicTacToe{privateintn;privateint[][]counter;/** Initialize your data structure here. */publicTicTacToe(intn){counter=newint[2][(n<<1)+2];this.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. */publicintmove(introw,intcol,intplayer){counter[player-1][row]+=1;counter[player-1][col+n]+=1;if(row==col){counter[player-1][n<<1]+=1;}if(row+col==n-1){counter[player-1][(n<<1)+1]+=1;}if(counter[player-1][row]==n||counter[player-1][col+n]==n||counter[player-1][n<<1]==n||counter[player-1][(n<<1)+1]==n){returnplayer;}return0;}}/** * Your TicTacToe object will be instantiated and called as such: * TicTacToe obj = new TicTacToe(n); * int param_1 = obj.move(row,col,player); */