Ejemplo n.º 1
0
 void solve(vector<vector<char>> &board) {
     // Start typing your C/C++ solution below
     // DO NOT write int main() function
     if(board.empty())
         return;
     int m = board.size();
     int n = board[0].size();
     for(int i = 0; i < n; i++)
     {
         if(board[0][i] == 'O')
             traverseBFS(board,0,i,m,n);
         if(board[m-1][i] == 'O')
             traverseBFS(board,m-1,i,m,n);
     }
     for(int i = 1; i < m-1; i++)
     {
         if(board[i][0] == 'O')
             traverseBFS(board,i,0,m,n);
         if(board[i][n-1] == 'O')
             traverseBFS(board,i,n-1,m,n);
     }
     for(int i = 0; i < m; i++)
         for(int j = 0; j < n; j++)
         {   
             if(board[i][j] == 'O')
                 board[i][j] = 'X'; 
             if(board[i][j] == 'D')
                 board[i][j] = 'O';
         
         }
 }
Ejemplo n.º 2
0
int searchController(Graph graph, int start, int stop, int option) {
	Dllist close;
	Dllist node;

	close = new_dllist();

	switch(option) {
		case BFS_SEARCH:
		breathFirstSearch(graph, start, stop, close);
		break;
		case BFS_TRAVERSE:
		traverseBFS(graph, start, close);
		break;
		case DFS_SEARCH:
		deepFirstSearch(graph, start, stop, close);
		break;
		case DFS_TRAVERSE:
		traverseDFS(graph, start, close);
		break;
		default:
		printf("This is not an option\n");
		free_dllist(close);
		return;
	}

	node = dll_first(close);
	printf("Visit %d\n", jval_i(node->val));

	free_dllist(close);
}