problem81.py 673 B

12345678910111213141516171819202122232425262728293031
  1. from numpy import array, zeros
  2. #m = array([[131, 673, 234, 103, 18 ],
  3. # [201, 96 , 342, 965, 150],
  4. # [630, 803, 746, 422, 111],
  5. # [537, 699, 497, 121, 956],
  6. # [805, 732, 524, 37 , 331]])
  7. f = open('matrix.txt', 'r')
  8. m = array([map(int, l.split(',')) for l in f.readlines()])
  9. f.close()
  10. def add(x, y):
  11. global m
  12. h, w = m.shape
  13. if x == w or y == h: return
  14. p = []
  15. if x: p.append(m[y, x - 1])
  16. if y: p.append(m[y - 1, x])
  17. m[y, x] += min(p)
  18. h, w = m.shape
  19. for i in range(w+h):
  20. for x in range(i + 1):
  21. y = i - x
  22. if (x or y) and x < w and y < h:
  23. add(x, y)
  24. print m[h - 1, w - 1]