Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/local/bin/python2.7
- def bfs(graph, ex, wy):
- queue = [(ex,wy,0)]
- currl = 0
- while len(queue):
- (x,y,l) = queue.pop(0)
- if x<0 or y<0 or x==len(graph) or y==len(graph[0]):
- continue
- if l!=currl:
- currl = l
- printGraph(graph)
- if graph[x][y]==0:
- graph[x][y]=1
- queue+=[(x+1,y,l+1),(x-1,y,l+1),(x,y-1,l+1),(x,y+1,l+1)]
- def dfs(graph, ex, wy):
- stack = [(ex,wy,0)]
- while len(stack):
- (x,y,l) = stack.pop(len(stack)-1)
- if x<0 or y<0 or x==len(graph) or y==len(graph[0]):
- continue
- if graph[x][y]==0:
- graph[x][y]=1
- stack+=[(x+1,y,l+1),(x-1,y,l+1),(x,y-1,l+1),(x,y+1,l+1)]
- printGraph(graph)
- def printGraph(graph):
- for i in graph:
- print i
- print
- x = 11
- y = 11
- curr = [[0]*y for i in xrange(x)]
- bfs(curr,x/2,y/2)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement