tic-tac-toe

/***
17.2 Design an algorithm to figure out if someone has won a game of tic-tac-toe.
***/

#include<iostream>

using namespace std;

#define O 0
#define X 1
#define K 5

bool isWin(int (*board)[K], int m, int n) {
       if(m >= K-1 || n >= K-1) return false;

       if(board[m][n] == board[m-1][n] && board[m-1][n] == board[m+1][n])
              return true;
       if(board[m][n-1] == board[m][n] && board[m][n] == board[m][n+1])
              return true;
       if(board[m][n] == board[m-1][n-1] && board[m-1][n-1] == board[m+1][n+1])
              return true;
       if(board[m][n] == board[m-1][n+1] && board[m-1][n+1] == board[m+1][n-1])
              return true;

       if(isWin(board, m+1, n) || isWin(board, m, n+1)) return true;
       else return false;  

}

Comments

Popular posts from this blog

Sudoku

Longest prefix matching - trie

Climbing Stairs