Advertisement
Guest User

Untitled

a guest
May 27th, 2016
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.85 KB | None | 0 0
  1. __author__ = "Karthik M A M"
  2.  
  3. #get the user input
  4. x = [ input().split() for i in range(int(input().split()[0])) ]
  5. c = int(input())
  6. n, m = len(x), len(x[0])
  7.  
  8. #iterate over each ring
  9. for l in range(n // 2):
  10. temp = x[l + 1: n - l - 1]
  11.  
  12. #get ring at level l
  13. z = x[l][l: m - l]
  14. z += [ i[m - l - 1] for i in temp ]
  15. z += x[n - l - 1][l: m - l][::-1]
  16. z += [ i[l] for i in temp ][::-1]
  17.  
  18. #circular rotation of the list
  19. z = z[c % len(z):] + z[:c % len(z)]
  20.  
  21. #set the rotated ring at level l
  22. x[l][l: m - l] = [ z.pop(0) for i in range(m - 2 * l) ]
  23. for y in temp: y[m - l - 1] = z.pop(0)
  24. x[n - l - 1][l: m - l] = [ z.pop(0) for i in range(m - 2 * l) ][::-1]
  25. for y in temp: y[l] = z.pop(-1)
  26.  
  27. #print the result
  28. print(*x, sep='\n', end='\n\n')
  29.  
  30.  
  31. #INPUT
  32. """
  33. 5 6
  34. 1 2 3 4 5 6
  35. 7 8 9 0 1 2
  36. 3 4 5 6 7 8
  37. 9 0 1 2 3 4
  38. 5 6 7 8 9 0
  39. 6
  40. """
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement