P4
Question
Barbara plants N different sunflowers, each with a unique height, ordered from smallest to largest, and records their heights for N consecutive days. Each day, all of her flowers grow taller than they were the day before.
She records each of these measurements in a table, with one row for each plant, with the first row recording the shortest sunflower's growth and the last row recording the tallest sunflower's growth.
The leftmost column is the first measurement for each sunflower, and the rightmost column is the last measurement for each sunflower.
If a sunflower was smaller than another when initially planted, it remains smaller for every measurement.
Unfortunately, her children may have altered her measurements by rotating her table by a multiple of 90 degrees.
Your job is to help Barbara determine her original data.
Input Specification
The first line of input contains the number N (2≤N≤100). The next N lines each contain N positive integers, each of which is at most 10$^9$. It is guaranteed that the input grid represents a rotated version of Barbara's grid.
Output Specification
Output Barbara's original data, consisting of N lines, each of which contain N positive integers.
Sample Input 1
2
1 3
2 9Sample Output 1
1 3
2 9Explanation for Sample Output 1
The data has been rotated a multiple of 360 degrees, meaning that the input arrangement is the original arrangement.
Sample Input 2
3
4 3 1
6 5 2
9 7 3Sample Output 2
1 2 3
3 5 7
4 6 9Explanation for Sample Output 2
The original data was rotated 90 degrees to the right/clockwise.
Sample Input 3
3
3 7 9
2 5 6
1 3 4Sample Output 3
1 2 3
3 5 7
4 6 9Explanation for Sample Output 3
The original data was rotated 90 degrees to the left/counter-clockwise.
Answer
Read an
n x nmatrix from input.Find the smallest value in the matrix.
Locate the coordinates
(x, y)of this smallest value.Determine how many 90-degree clockwise rotations are needed to move it to the top-left corner.
Rotate the matrix that many times.
Print the resulting matrix row by row.
The key idea is to position the minimum value at the top-left using the fewest rotations.