/* package whatever; // don't place package name! */
import java.util.*;
import java.lang.*;
import java.io.*;
/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
public static void rotation90Droite(int [][] vals) {
int e = vals.length-1;
int c = e / 2;
for (int i = 0; i <= c ; i++) {
for (int j = i; j <e - i; j++) {
int t = vals[i][j];
vals[i][j] = vals[e - j][i];
vals[e - j][i] = vals[e - i][e - j];
vals[e - i][e - j] = vals[j][e - i];
// This line is corrected: "e - j" -> "e - i"
vals[j][e - i] = t;
}
}
}
public static void printMatrix(int[][] Matrix) {
for(int i = 0; i < Matrix.length; i++) {
for (int j = 0; j < Matrix.length; j++) {
System.
out.
print(Matrix
[i
][j
]+ " "); }
}
}
public static void main
(String[] args
) {
int[][] vals = {{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}} ;
printMatrix(vals);
rotation90Droite(vals);
printMatrix(vals);
}
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CgovKiBOYW1lIG9mIHRoZSBjbGFzcyBoYXMgdG8gYmUgIk1haW4iIG9ubHkgaWYgdGhlIGNsYXNzIGlzIHB1YmxpYy4gKi8KY2xhc3MgSWRlb25lCnsKcHVibGljIHN0YXRpYyB2b2lkIHJvdGF0aW9uOTBEcm9pdGUoaW50IFtdW10gdmFscykgewoKICAgIGludCBlID0gdmFscy5sZW5ndGgtMTsKICAgIGludCBjID0gZSAvIDI7CiAgICBmb3IgKGludCBpID0gMDsgaSA8PSBjIDsgaSsrKSB7CiAgICAgICAgZm9yIChpbnQgaiA9IGk7IGogPGUgLSBpOyBqKyspIHsKICAgICAgICAgICAgaW50IHQgICA9IHZhbHNbaV1bal07CgoKICAgICAgICAgICAgdmFsc1tpXVtqXSA9IHZhbHNbZSAtIGpdW2ldOwoKICAgICAgICAgICAgdmFsc1tlIC0gal1baV0gPSB2YWxzW2UgLSBpXVtlIC0gal07CgogICAgICAgICAgICB2YWxzW2UgLSBpXVtlIC0gal0gPSB2YWxzW2pdW2UgLSBpXTsKCiAgICAgICAgICAgIC8vIFRoaXMgbGluZSBpcyBjb3JyZWN0ZWQ6ICJlIC0gaiIgLT4gImUgLSBpIgogICAgICAgICAgICB2YWxzW2pdW2UgLSBpXSA9IHQ7CiAgICAgICAgfQogICAgfQp9CnB1YmxpYyBzdGF0aWMgdm9pZCBwcmludE1hdHJpeChpbnRbXVtdIE1hdHJpeCkgewoKICAgIGZvcihpbnQgaSA9IDA7IGkgPCBNYXRyaXgubGVuZ3RoOyBpKyspIHsKICAgICAgICBmb3IgKGludCBqID0gMDsgaiA8IE1hdHJpeC5sZW5ndGg7IGorKykgewogICAgICAgICAgICBTeXN0ZW0ub3V0LnByaW50KE1hdHJpeFtpXVtqXSsgIiAiKTsKICAgICAgICB9CiAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCIgIik7CiAgICB9Cn0KCgpwdWJsaWMgc3RhdGljIHZvaWQgbWFpbihTdHJpbmdbXSBhcmdzKSB7CgogICAgaW50W11bXSB2YWxzID0ge3sxLDIsMyw0fSx7NSw2LDcsOH0sezksMTAsMTEsMTJ9LHsxMywxNCwxNSwxNn19IDsKICAgIHByaW50TWF0cml4KHZhbHMpOwogICAgU3lzdGVtLm91dC5wcmludGxuKCIgIik7CiAgICByb3RhdGlvbjkwRHJvaXRlKHZhbHMpOwogICAgcHJpbnRNYXRyaXgodmFscyk7CgogICAgfQp9