The program must accept an integer matrix of size RxC
and an integer K
as the input.The program must print all the integers in the bottom left to top right diagonal
in each KxK
sub matrix without any overlapping of the given matrix
NOTE: The values of R and C ara always multiples of K
Example :
Input:
4 4
1 2 3 4
5 6 7 9
8 5 4 1
6 9 0 5
2
Output:
5 2
7 4
6 5
0 1
My Code :
row , col = map(int,input().split())
mat = [list(map(int,input().split())) for i in range(row)]
k = int(input())
temp = k
# To store the right diagonal elements of all the sub matrices
right_diagonal_elements = []
for i in range(row):
te =temp
# Iterating through the matrix in such a way
#that it appends only the k th element ,
#then k-1, and so on til the first element
while te<=col:
# It appends the right diagonal element but in a different order
right_diagonal_elements.append(mat[i][te-1])
te+=k
if temp == 1:
temp = k
continue
temp -= 1
In this my code gets all the right diagonal elements, but I am stuck on how to arrange it in such a way that it obtains the given output
The right_diagonal_elements has [2, 4, 5, 7, 5, 1, 6, 0]
for the example above. I am stuck on how to arrange this elements in the list in order to get the output in example