Given a number N, the task is to create a square matrix of size N*N with values in range [1, N*N], such that the sum of each diagonal of an even sub-square matrix is even.
Input: N = 3
1 2 3
4 5 6
7 8 9
Explanation:For each even sub-square matrix the sum of each diagonal is a even number.
sum of each diagonal is 6 and 6 i.e even number.
Input: N = 4
1 2 3 4
6 5 8 7
9 10 11 12
14 13 16 15
For each even sub-square matrix the sum of each diagonal is a even number.
sum of each diagonal is 6 and 8 i.e even number.
Approach: The idea is to arrange elements from 1 to N*N in the below-given ways:
- Initialize odd and even by 1 and 2 elements respectively.
- Iterate two nested loop in the range [0, N].
- If the sum of indices in the two nested loops is even the print the value of odd and increment odd by 2 and if the sum is odd then print the value of even, and increment even by 2.
Below is the implementation of the above approach:
1 2 3 4 6 5 8 7 9 10 11 12 14 13 16 15
Time Complexity: O(N*N)
Auxiliary Space: O(1)
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.
- Program to calculate area and perimeter of a rhombus whose diagonals are given
- Sum of both diagonals of a spiral odd-order square matrix
- Sum of all parts of a square Matrix divided by its diagonals
- Find the product of sum of two diagonals of a square Matrix
- Program to Interchange Diagonals of Matrix
- Efficiently compute sums of diagonals of a matrix
- Row-wise common elements in two diagonals of a square matrix
- Swap major and minor diagonals of a square matrix
- Center element of matrix equals sums of half diagonals
- Number of cells in the right and left diagonals passing through (x, y) in a matrix
- Find smallest and largest element from square matrix diagonals
- Finding the converging element of the diagonals in a square matrix
- Program to print the Diagonals of a Matrix in O(N) time
- Program to print the Diagonals of a Matrix
- Return an array of anti-diagonals of given N*N square matrix
- Largest rectangular sub-matrix whose sum is 0
- Find the largest area rectangular sub-matrix whose sum is equal to k
- Program to find the Sum of each Row and each Column of a Matrix
- Find the permutation of first N natural numbers such that sum of i % Pi is maximum possible
- Find difference between sums of two diagonals
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.