wojiaocbj

Untitled

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