Matrix rotation in python assignment expert

Matrix Rotations

You are given a square matrix A of dimensions NxN. You need to apply the below given 3 operations on the matrix A.

Rotation: It is represented as R S where S is an integer in {90, 180, 270, 360, 450, ...} which denotes the number of degrees to rotate. You need to rotate the matrix A by angle S in the clockwise direction. The angle of rotation(S) will always be in multiples of 90 degrees.

Update: It is represented as U X Y Z. In initial matrix A (as given in input), you need to update the element at row index X and column index Y with value Z.

After the update, all the previous rotation operations have to be applied to the updated initial matrix.

Querying: It is represented as Q K L. You need to print the value at row index K and column index L of the matrix A.

Input

The first line contains a single integer N.

Next N lines contain N space-separated integers Aij (i - index of the row, j - index of the column).

Next lines contain various operations on the array. Each operation on each line (Beginning either with R, U or Q).

-1 will represent the end of input.

Output

For each Query operation print the element present at row index K and colum index L of the matrix in its current state.

Explanation

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 1 in the initial matrix to 6. So the updated matrix will be,

6 2

3 4

After updating, we need to rotate the matrix by sum of all rotation angles applied till now(i.e. R 90 and R 90 => 90 + 90 => 180 degrees in clockwise direction).

After rotation the matrix will now become

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.

output

3

1

4

6

Sample Input 1

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

Sample Output 1

3

1

4

6

Sample Input 2

2

5 6

7 8

R 90

Q 0 1

R 270

Q 1 1

R 180

U 0 0 4

Q 0 0

-1

Sample Output 2

5

8

8

i want exact sample outputs

You are given a square matrix A of dimensions NxN. You need to apply the below given 3 operations on matrix A.

Rotation: It is represented as R S where S is an integer in {90, 180, 270, 360, 450, ...} which denotes the number of degrees to rotate. You need to rotate matrix A by angle S in the clockwise direction. The angle of rotation(S) will always be in multiples of 90 degrees.

Update: It is represented as U X Y Z. In initial matrix A (as given in input), you need to update the element at row index X and column index Y with value Z.

After the update, all the previous rotation operations have to be applied to the updated initial matrix.

Querying: It is represented as Q K L. You need to print the value at row index K and column index L of the matrix A.

Input:

The first line contains a single integer N.

Next N lines contain N space-separated integers Aij (i - index of the row, j - index of the column).

Next lines contain various operations on the array. Each operation on each line (Beginning either with R, U or Q).

-1 will represent the end of input.

Output:

For each Query operation print the element present at row index K and column index L of the matrix in its current state.

Sample Input:

2

5 6

7 8

R 90

Q 0 1

R 270

Q 1 1

R 180

U 0 0 4

Q 0 0

-1

Sample Output:

5
8
8

Given a matrix represented as int[a][a], Rotate it 90 degrees anticlockwise in-place. ( In place means minimal extra memory to be used, ie, don't make a new array to copy into)? For Example Input : 1 2 3 4 5 6 7 8 9 Output : 3 6 9 2 5 8 1 4 7 Bonus: Rotate it 90 degrees clockwise in-place.

https://code.sololearn.com/ce1sh888LSbY/?ref=app

Matrix rotation in python assignment expert

A good occasion to train my python list comprehension: the code transforms a matrix in place in many ways. You can change the matrix size at the code's line 3. https://code.sololearn.com/cRMGu3jC6l8D/#py Thanks for this challenge, Pawan. Advice : you should edit your question with [Assignment] in the title to make it more visible. That's the keyword Sololearners are now used to see : )

Matrix rotation in python assignment expert

Not in place but in one line https://code.sololearn.com/cT4TViVRNfJ5/?ref=app

Matrix rotation in python assignment expert

I used a rotating Matrix to solve this Challenge: https://code.sololearn.com/cc6cM7kQqQrM/?ref=app

Matrix rotation in python assignment expert

yeah! i'm very happy with your question...from past 10 days.i'm studying NUMPY...i have some doubts in SLICING...now i'm clear... thank you for this challange... https://code.sololearn.com/cox43bn4M8bw/?ref=app

Matrix rotation in python assignment expert

This is an old code that rotates the contents 90 degrees clockwise. Instead of swapping element by element, it swaps full row and column. Let me know if this fullfills the criteria of inplace rotatation. If yes i will add the code for anticlockwise rotation :) https://code.sololearn.com/cJFk42A4ln1U/?ref=app

Matrix rotation in python assignment expert

[Advice], thank you Cépagrave

Matrix rotation in python assignment expert

https://code.sololearn.com/cL9Px770lnQI/?ref=app

Matrix rotation in python assignment expert

~ swim ~ yep . you can add ^.-

Matrix rotation in python assignment expert

Pawan☯ Thanks :) I'll do that tomorrow, right now i am feeling sleepy. Good Night :)

Matrix rotation in python assignment expert

yeah! i'm on my way to my first answer

Matrix rotation in python assignment expert

Pawan☯ I have updated my code. And apologies as i realized that my solution is not inplace rotation(as i thought it to be) but the way it was implemented, it allowed me to to do rotation from clockwise to anticlockwise inplace.

Matrix rotation in python assignment expert