Answer to Question #206217 in Python for abhi

Question #206217

For Input:

2

1 2

3 4

R 90

Q 0 0

Q 0 1

R 90

Q 0 0

U 0 0 6

Q 1 1

-1

Initial Matrix

1 2

3 4

For R 90, clockwise rotation by 90 degrees, the matrix will become

3 1

4 2

For Q 0 0, print the element at row index 0 and column index 0 of A, which is 3.

For Q 0 1, print the element at row index 0 and column index 1 of A, which is 1.

Again for R 90, clockwise rotation by 90 degrees, the matrix will become

4 3

2 1

For Q 0 0, print the element at row index 0 and column index 0 of A, which is 4.

For U 0 0 6, update the value at row index 0 and column index 0 in the initial matrix to 6.

6 2

3 4

After updating, we need to rotate the matrix by sum of all rotation angles applied till now

4 3

2 6

Next for Q 1 1, print the element at row index 1 and column index 1 of A, which is 6.

So the output should be
3
1
4
6




1
Expert's answer
2021-06-12T10:40:46-0400
def ReadMatrix():
    matrix = []
    for i in range(int(input())):
        row = [int(j) for j in input().split()]
        matrix.append(row) 
    return matrix

def RotateMatrix(matrix, degrees):
    n = len(matrix[0])
    rotations = (degrees // 90) % 4
    for r in range(rotations):
        temp_matrix = []
        for i in range(n):
            column = [row[i] for row in matrix]
            column.reverse()
            temp_matrix.append(column)
        matrix = temp_matrix
    return matrix

def main():
    matrix = ReadMatrix()
    rotation = 0
    while True:
        line = input().split()
        if line[0] == "-1":
            break;
        elif line[0] == "R":
            rotation += int(line[1])
            matrix = RotateMatrix(matrix, int(line[1]))
        elif line[0] == "U":
            matrix[int(line[1])][int(line[2])] = int(line[3])
            matrix = RotateMatrix(matrix, rotation)
        elif line[0] == "Q":
            print(matrix[int(line[1])][int(line[2])])
        else:
            print("Error: unexpected command '" + line[0] + "'")
            exit(1)

if __name__ == '__main__':
    main()

Need a fast expert's response?

Submit order

and get a quick answer at the best price

for any assignment or question with DETAILED EXPLANATIONS!

Comments

No comments. Be the first!

Leave a comment

LATEST TUTORIALS
New on Blog
APPROVED BY CLIENTS