| 76 | return ans |
| 77 | |
| 78 | def do_something(back_pointer, goal, start): |
| 79 | grid = np.chararray((n, n)) |
| 80 | for i in range(n): |
| 81 | for j in range(n): |
| 82 | grid[i][j] = '*' |
| 83 | |
| 84 | for i in range(n): |
| 85 | for j in range(n): |
| 86 | if (j, (n-1)-i) in blocks: |
| 87 | grid[i][j] = "#" |
| 88 | |
| 89 | grid[0][(n-1)] = "-" |
| 90 | x = back_pointer[goal] |
| 91 | while x != start: |
| 92 | (x_c, y_c) = x |
| 93 | # print(x) |
| 94 | grid[(n-1)-y_c][x_c] = "-" |
| 95 | x = back_pointer[x] |
| 96 | grid[(n-1)][0] = "-" |
| 97 | |
| 98 | |
| 99 | for i in xrange(n): |
| 100 | for j in range(n): |
| 101 | if (i, j) == (0, n-1): |
| 102 | print(grid[i][j], end=' ') |
| 103 | print("<-- End position", end=' ') |
| 104 | else: |
| 105 | print(grid[i][j], end=' ') |
| 106 | print() |
| 107 | print("^") |
| 108 | print("Start position") |
| 109 | print() |
| 110 | print("# is an obstacle") |
| 111 | print("- is the path taken by algorithm") |
| 112 | print("PATH TAKEN BY THE ALGORITHM IS:-") |
| 113 | x = back_pointer[goal] |
| 114 | while x != start: |
| 115 | print(x, end=' ') |
| 116 | x = back_pointer[x] |
| 117 | print(x) |
| 118 | quit() |
| 119 | |
| 120 | def valid(p): |
| 121 | if p[0] < 0 or p[0] > n-1: |