Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def mTightPrint(m):
- for i in range(len(m)):
- line = ''
- for j in range(len(m[0])):
- line += str(m[i][j])
- print(line)
- def make_matrix(r,c,v):
- m = []
- for i in range(r):
- m.append([v]*c)
- return m
- def count_areas(diagonal_maze):
- count=0
- matrix=make_matrix(len(diagonal_maze)*3,len(diagonal_maze[0])*3,0)
- for row in range(len(diagonal_maze)):
- for column in range(len(diagonal_maze[0])):
- if diagonal_maze[row][column]=="/":
- matrix[row*3][column*3+2]=1
- matrix[row*3+1][column*3+1]=1
- matrix[row*3+2][column*3+0]=1
- elif diagonal_maze[row][column]=="\\":
- matrix[row*3][column*3]=1
- matrix[row*3+1][column*3+1]=1
- matrix[row*3+2][column*3+2]=1
- for r in range(len(matrix)):
- for c in range(len(matrix[0])):
- if matrix[r][c] == 0:
- floodfill(matrix,r,c)
- count+=1
- print(count)
- def floodfill(maze,x,y):
- row=len(maze)
- column=len(maze[0])
- queue=[(x,y)]
- while queue:
- x,y=queue.pop(0)
- if 0<=x<row and 0<=y<column:
- maze[x][y]="x"
- if x+1<row:
- if maze[x+1][y] == 0:
- queue.append((x+1,y))
- if x-1>=0:
- if maze[x-1][y] == 0:
- queue.append((x-1,y))
- if y+1<column:
- if maze[x][y+1] == 0:
- queue.append((x,y+1))
- if y-1>= 0:
- if maze[x][y-1] == 0:
- queue.append((x,y-1))
- count_areas(["\//\\\\/", "\///\\\\", "//\\\\/\\", "\/\///"])
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement