Advertisement
Guest User

Untitled

a guest
Mar 29th, 2020
96
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.72 KB | None | 0 0
  1.  
  2. def mTightPrint(m):
  3. for i in range(len(m)):
  4. line = ''
  5. for j in range(len(m[0])):
  6. line += str(m[i][j])
  7. print(line)
  8. def make_matrix(r,c,v):
  9. m = []
  10. for i in range(r):
  11. m.append([v]*c)
  12. return m
  13. def count_areas(diagonal_maze):
  14. count=0
  15. matrix=make_matrix(len(diagonal_maze)*3,len(diagonal_maze[0])*3,0)
  16. for row in range(len(diagonal_maze)):
  17. for column in range(len(diagonal_maze[0])):
  18. if diagonal_maze[row][column]=="/":
  19. matrix[row*3][column*3+2]=1
  20. matrix[row*3+1][column*3+1]=1
  21. matrix[row*3+2][column*3+0]=1
  22. elif diagonal_maze[row][column]=="\\":
  23. matrix[row*3][column*3]=1
  24. matrix[row*3+1][column*3+1]=1
  25. matrix[row*3+2][column*3+2]=1
  26.  
  27. for r in range(len(matrix)):
  28. for c in range(len(matrix[0])):
  29. if matrix[r][c] == 0:
  30. floodfill(matrix,r,c)
  31. count+=1
  32. print(count)
  33.  
  34. def floodfill(maze,x,y):
  35. row=len(maze)
  36. column=len(maze[0])
  37. queue=[(x,y)]
  38. while queue:
  39. x,y=queue.pop(0)
  40. if 0<=x<row and 0<=y<column:
  41. maze[x][y]="x"
  42. if x+1<row:
  43. if maze[x+1][y] == 0:
  44. queue.append((x+1,y))
  45. if x-1>=0:
  46. if maze[x-1][y] == 0:
  47. queue.append((x-1,y))
  48. if y+1<column:
  49. if maze[x][y+1] == 0:
  50. queue.append((x,y+1))
  51. if y-1>= 0:
  52. if maze[x][y-1] == 0:
  53. queue.append((x,y-1))
  54. count_areas(["\//\\\\/", "\///\\\\", "//\\\\/\\", "\/\///"])
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement