Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def printpretty(x):
- for row in x:
- print(''.join(list(map(lambda z: ' ' * (4 - len(str(z))) + str(z), row))))
- def down(arr, x, h, f):
- b = 0
- c = 0
- for i in range(h):
- if arr[i][x] == '.':
- arr[i][x] = i + f
- b = i
- c = i + f
- return [b, c]
- def up(arr, x, h, f):
- b = 0
- c = 0
- for i in range(h - 1, -1, -1):
- if arr[i][x] == '.':
- arr[i][x] = f + h - i - 1
- b = i
- c = f + h - i - 1
- return [b, c]
- def right(arr, x, w, f):
- b = 0
- c = 0
- for j in range(w):
- if arr[x][j] == '.':
- arr[x][j] = f + j
- b = j
- c = f + j
- return [b, c]
- def left(arr, x, w, f):
- b = 0
- c = 0
- for j in range(w - 1, -1, -1):
- if arr[x][j] == '.':
- arr[x][j] = f + w - j - 1
- b = j
- c = f + w - j - 1
- return [b, c]
- def countt(arr, f):
- s = True
- for i in arr:
- for j in i:
- if j == f:
- s = False
- return s
- h, w = input().split()
- h, w = int(h), int(w)
- a = [['.' for j in range(w)] for i in range(h)]
- #right(a, 0, w, 1)
- #down(a, 4, h, 5)
- #left(a, 3, w, 8)
- #up(a, 0, h, 12)
- #right(a, 1, w, 14)
- #down(a, 3, h, 16)
- #left(a, 2, w, 17)
- i = 0
- j = 0
- num = 1
- while countt(a, '.') == False:
- j, num = right(a, i, w, num - j)
- i, num = down(a, j, h, num - i)
- j, num = left(a, i, w, num - w + j + 1)
- i, num = up(a, j, h, num - h + i + 1)
- printpretty(a)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement