348. Design Tic-Tac-Toe
class TicTacToe {
public:
vector<int> rows, cols;
int diag, rdiag, N;
/** Initialize your data structure here. */
TicTacToe(int n): rows(n), cols(n), diag(0), rdiag(0), N(n) {}
int move(int row, int col, int player) {
int add = player == 1 ? 1 : -1;
rows[row] += add;
cols[col] += add;
diag += (row == col ? add : 0);
rdiag += (row == N - col - 1 ? add : 0);
return (abs(rows[row]) == N || abs(cols[col]) == N || abs(diag) == N || abs(rdiag) == N) ? player : 0;
}
};
Last updated