
方法
- 两个玩家,其中一个玩家下棋,在格子里记1分,另一个记-1。
- 产生赢家的条件:某一行/某一列/两个对角线之一 的分数为3或者-3

class TicTacToe {
int size;
int[][] board;
int[] scoreRow;
int[] scoreCol;
int scoreDiagonol1;
int scoreDiagonol2;
public TicTacToe(int n) {
size = n;
board = new int[n][n];
scoreRow = new int[n];
scoreCol = new int[n];
scoreDiagonol1 = 0;
scoreDiagonol2 = 0;
}
public int move(int row, int col, int player) {
int score = 1;
if (player == 2) {
score = -1;
}
scoreRow[row] += score;
scoreCol[col] += score;
if (row == col) {
scoreDiagonol1 += score;
}
if (row + col == size - 1) {
scoreDiagonol2 += score;
}
if ( Math.abs(scoreRow[row]) == size || Math.abs(scoreCol[col]) == size
|| Math.abs(scoreDiagonol1) == size || Math.abs(scoreDiagonol2) == size) {
return player;
}
return 0;
}
}