wojiaocbj

cbj

May 5th, 2022
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.39 KB | None | 0 0
  1. import sys
  2. def rotate90(mat):
  3.     n=len(mat)
  4.     for i in range(n):
  5.         for j in range(n):
  6.             mat[i][j],mat[n-j-1][n-i-1]=mat[n-j-1][n-i-1],mat[i][j]
  7.     fliph(mat)
  8. def fliph(mat):
  9.     n=len(mat)
  10.     for i in range(n//2):
  11.         for j in range(n):
  12.             mat[i][j],mat[n-i-1][j]=mat[n-i-1][j],mat[i][j]
  13.            
  14. def flipv(mat):
  15.     n=len(mat)
  16.     for i in range(n):
  17.         for j in range(n//2):
  18.             mat[i][j],mat[i][n-j-1]=mat[i][n-j-1],mat[i][j]
  19.    
  20. if __name__=='__main__':
  21.     s=input().split()
  22.     A=[]
  23.     flag=0
  24.     n=int(s[0])
  25.     m=int(s[1])
  26.     for i in range(n):
  27.         A.append(input().split())
  28.     for i in range(m):
  29.         s=input().split()
  30.         if(len(s)!=2):
  31.             flag=1
  32.             break
  33.         if(s[0]=='rotate'):
  34.             a=int(s[1])
  35.             if(((a%90)!=0)or(a<0)or(a>270)):
  36.                 flag=1
  37.                 break
  38.             else:
  39.                
  40.                 while(a>=90):
  41.                     rotate90(A)
  42.                     a-=90
  43.         elif(s[0]=='flip'):
  44.             if(s[1]=='horizontal'):
  45.                 fliph(A)
  46.             elif(s[1]=='vertical'):
  47.                 flipv(A)
  48.             else:
  49.                 flag=1
  50.                 break
  51.     if(flag):
  52.         print('Error')
  53.     else:
  54.         for i in A:
  55.             for j in i:
  56.                 print(j,end=' ')
  57.             print()
Advertisement
Add Comment
Please, Sign In to add comment