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
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)
Comments
Leave a comment