Advertisement
Guest User

Task 8

a guest
Nov 20th, 2019
110
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.14 KB | None | 0 0
  1. MAX_SIZE = 1000
  2. field = [[0 for j in range(MAX_SIZE)] for i in range(MAX_SIZE)]
  3. cfield = [[0 for j in range(MAX_SIZE)] for i in range(MAX_SIZE)]
  4.  
  5. def save_field(f, cf):
  6.     for i in range( len(f) ):
  7.         for j in range( len(f[i]) ):
  8.             cf[i][j] = f[i][j]
  9.  
  10. def walk(stx, sty, n, k, a):
  11.     x, y = stx, sty
  12.     ans = field[x][y]
  13.     field[x][y] = a
  14.     for i in range(5):
  15.         for j in range(n):
  16.             x += 1
  17.             ans += field[x][y]
  18.             field[x][y] = a
  19.         for j in range(n):
  20.             y += 1
  21.             ans += field[x][y]
  22.             field[x][y] = a
  23.         n += k
  24.         for j in range(n):
  25.             x -= 1
  26.             ans += field[x][y]
  27.             field[x][y] = a
  28.         for j in range(n):
  29.             y -= 1
  30.             ans += field[x][y]
  31.             field[x][y] = a
  32.  
  33.         n += k
  34.     return ans
  35.  
  36. sty = stx = MAX_SIZE // 2
  37. walk(stx, sty, 5, 5, 1)
  38. mx = 0
  39. mxk = 0
  40.  
  41. for k in range(1, 50):
  42.     save_field(field, cfield)
  43.     val = walk(stx-7, sty+7, k, k, 0)
  44.     if val > mx:
  45.         mx = val
  46.         mxk = k
  47.     print(k, val)
  48.     save_field(cfield, field)
  49.  
  50. print(mxk)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement