Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import sys
- def rotate90(mat):
- n=len(mat)
- for i in range(n):
- for j in range(n-i):
- mat[i][j],mat[n-j-1][n-i-1]=mat[n-j-1][n-i-1],mat[i][j]
- for i in range(n//2):
- for j in range(n):
- mat[i][j],mat[n-i-1][j]=mat[n-i-1][j],mat[i][j]
- def rotate180(mat):
- n=len(mat)
- for i in range(n):
- for j in range(n-i):
- mat[i][j],mat[n-j-1][n-i-1]=mat[n-j-1][n-i-1],mat[i][j]
- for i in range(n//2):
- for j in range(n):
- mat[i][j],mat[n-i-1][j]=mat[n-i-1][j],mat[i][j]
- for i in range(n):
- for j in range(n-i):
- mat[i][j],mat[n-j-1][n-i-1]=mat[n-j-1][n-i-1],mat[i][j]
- for i in range(n//2):
- for j in range(n):
- mat[i][j],mat[n-i-1][j]=mat[n-i-1][j],mat[i][j]
- def rotate270(mat):
- n=len(mat)
- for i in range(n):
- for j in range(n-i):
- mat[i][j],mat[n-j-1][n-i-1]=mat[n-j-1][n-i-1],mat[i][j]
- for i in range(n//2):
- for j in range(n):
- mat[i][j],mat[n-i-1][j]=mat[n-i-1][j],mat[i][j]
- for i in range(n):
- for j in range(n-i):
- mat[i][j],mat[n-j-1][n-i-1]=mat[n-j-1][n-i-1],mat[i][j]
- for i in range(n//2):
- for j in range(n):
- mat[i][j],mat[n-i-1][j]=mat[n-i-1][j],mat[i][j]
- for i in range(n):
- for j in range(n-i):
- mat[i][j],mat[n-j-1][n-i-1]=mat[n-j-1][n-i-1],mat[i][j]
- for i in range(n//2):
- for j in range(n):
- mat[i][j],mat[n-i-1][j]=mat[n-i-1][j],mat[i][j]
- def fliph(mat):
- n=len(mat)
- for i in range(n//2):
- for j in range(n):
- mat[i][j],mat[n-i-1][j]=mat[n-i-1][j],mat[i][j]
- def flipv(mat):
- n=len(mat)
- for i in range(n):
- for j in range(n//2):
- mat[i][j],mat[i][n-j-1]=mat[i][n-j-1],mat[i][j]
- if __name__=='__main__':
- s=input().split()
- A=[]
- flag=0
- n=int(s[0])
- m=int(s[1])
- for i in range(n):
- A.append(input().split())
- for i in range(m):
- s=input().split()
- if(len(s)!=2):
- flag=1
- break
- if(s[0]=='rotate'):
- a=int(s[1])
- if(a==90):
- rotate90(A)
- elif(a==180):
- rotate180(A)
- elif(a==270):
- rotate270(A)
- else:
- if(a!=0):
- flag=1
- break
- elif(s[0]=='flip'):
- if(s[1]=='horizontal'):
- flipv(A)
- elif(s[1]=='vertical'):
- fliph(A)
- else:
- flag=1
- break
- if(flag):
- print('Error')
- else:
- for i in A:
- for j in i:
- print(j,end=' ')
- print()
Advertisement
Add Comment
Please, Sign In to add comment