Ranking (as of 2013-08-03): 34 out of 2398
Language: C++
/* UVa 784 - Maze Exploration To build using Visual Studio 20&08: cl -EHsc -O2 maze_exploration.cpp */ #include <cstdio> #include <cstdlib> const int nr_chars_per_line_max = 80, nr_lines_max = 30; int get_start(const char* s) { bool separation_line = true; for (const char* p = s; *p; p++) { if (*p == '*') return p - s; else if (*p != '_') separation_line = false; } return (separation_line) ? -1 : 0; } void explore_maze(int i, int j, char maze[nr_lines_max + 1][nr_chars_per_line_max + 1]) { maze[i][j] = '#'; if (maze[i - 1][j] == ' ') // upper explore_maze(i - 1, j, maze); if (maze[i][j - 1] == ' ') // left explore_maze(i, j - 1, maze); if (maze[i][j + 1] == ' ') // right explore_maze(i, j + 1, maze); if (maze[i + 1][j] == ' ') // lower explore_maze(i + 1, j, maze); } int main() { char maze[nr_lines_max + 1][nr_chars_per_line_max + 1]; gets(maze[0]); int nr_mazes = atoi(maze[0]); int start_i, start_j; while (nr_mazes--) { int nr_lines = 0; while (true) { gets(maze[nr_lines]); int j = get_start(maze[nr_lines]); if (j > 0) { start_i = nr_lines; start_j = j; } nr_lines++; if (j == -1) // reach at a separation line break; } explore_maze(start_i, start_j, maze); for (int i = 0; i < nr_lines; i++) puts(maze[i]); } return 0; }
If you have ever used your personal pc or gone on the Online, then you are acquainted with Online Traveler. Up to now, it was the only Online system that most of us used. It was and still is a real advancement of its time. http://daily-crossword.com/
ReplyDelete