Given an integer N, the task is to construct a matrix M of size N x N with numbers in range [1, N^2], such that the sum of diagonal elements for each square submatrix is even.
Input: N = 2
This matrix has 5 square submatrix and 4 of them (, , , ) have a=0 so they satisfy the conditions.
The last square submatrix is the whole matrix M where r=c=a=1. We can see that M(1, 1)+M(2, 2)=1+3=4 and M(1, 2)+M(2, 1)=2+4=6 are both even.
Input: N = 4
1 2 3 4
8 7 6 5
9 10 11 12
16 15 14 13
Approach: We know that the sum of two numbers is even when their parity is the same. Let us say the parity of M(i, j) is odd that means the parity of M(i+1, j+1), M(i+1, j-1), M(i-1, j+1), M(i-1, j-1) has to be odd.
Below is the illustration for N = 4 to generate a matrix of size 4×4:
So from the above illustration we have to fill the matrix in the Checkerboard Pattern. We can fill it in two ways:
- All black cells have an odd integer and white cells have an even integer.
- All black cells have an even integer and white cells have an odd integer.
Below is the implementation of the above approach:
1 2 3 4 8 7 6 5 9 10 11 12 16 15 14 13
Time Complexity: O(N^2)
Auxiliary Space: O(N^2)
Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready.
- Check if a matrix contains a square submatrix with 0 as boundary element
- Sum of both diagonals of a spiral odd-order square matrix
- Find the product of sum of two diagonals of a square Matrix
- Sum of all parts of a square Matrix divided by its diagonals
- Finding the converging element of the diagonals in a square matrix
- Swap major and minor diagonals of a square matrix
- Return an array of anti-diagonals of given N*N square matrix
- Row-wise common elements in two diagonals of a square matrix
- Find smallest and largest element from square matrix diagonals
- Largest possible square submatrix with maximum AND value
- Find Maximum Length Of A Square Submatrix Having Sum Of Elements At-Most K
- Count of submatrix with sum X in a given Matrix
- Maximize the binary matrix by filpping submatrix once
- Maximum value in a matrix which contain intersecting concentric submatrix
- Create matrix whose sum of diagonals in each sub matrix is even
- Program to print the Diagonals of a Matrix
- Program to Interchange Diagonals of Matrix
- Check if matrix A can be converted to B by changing parity of corner elements of any submatrix
- Efficiently compute sums of diagonals of a matrix
- Program to print the Diagonals of a Matrix in O(N) time
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to email@example.com. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.
Improved By : chitranayal