Answer to Question #171161 in Python for phani

Question #171161
Anti-Diagonals

Given a MxN matrix,write a program to print all Anti-Diagonals elements of matrix

Input

The first line of input will contain a M, N values separated by space.
The second line will contain matrix A of dimensions MxN.

Output

The output should contain anti-diagonal elements separated by a line.
Explanation

For example, if M = 4, N = 4
Matrix A:




4 4
1 2 3 4
5 6 7 8
9 10 11 12
13 14 15 16
So the output should be

1
2 5
3 6 9
4 7 10 13
8 11 14
12 15
16
Sample Input 1
2 3
1 5 5
2 7 8
Sample Output 1
1
5 2
5 7
8

Sample Input 2
3 4
1 2 3 4
5 6 7 8
9 10 11 12
Sample Output 2
1
2 5
3 6 9
4 7 10
8 11
12
1
Expert's answer
2021-03-12T03:37:00-0500
def antidiagonals(M, N, matrix):
    antidiagonals = [[] for _ in range(M+N-1)]
    for i in range(M*N):
        adindex = (i // N) + (i % N)
        antidiagonals[adindex].append(matrix[i])
    for d in antidiagonals:
        print(*d)

# Driver code
M, N = list(map(int, input('M N: ').split()))
A = []
for i in range(1, M+1):
    A += map(int, input('A[%d]: ' % i).split())

antidiagonals(M, N, A)

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