/* 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
{
static int[][] convertToDiagonal(int[][] input) {
int[][] output = new int[input.length][input.length];
int i = 0, j = 0;
int n = input.length;
for (int slice = 0; slice < 2 * n - 1; slice++) {
int z = slice < n ? 0 : slice - n + 1;
for (int k = z; k <= slice - z; ++k) {
output[i][j++] = input[k][slice - k];
}
if(j == n) {
j = 0;
i++;
}
}
return output;
}
static void print(int[][] data) {
for(int i = 0; i < data.length; i++) {
for(int j = 0; j < data[0].length; j++) {
System.
out.
print(data
[i
][j
] + " "); }
}
}
static void test() {
int[][] data = new int[3][3];
data[0] = new int[] { 1, 2, 3 };
data[1] = new int[] { 4, 5, 6 };
data[2] = new int[] { 7, 8, 9 };
print(data);
data = convertToDiagonal(data);
System.
out.
println("Output:"); print(data);
}
public static void main
(String[] args
) { test();
}
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CgovKiBOYW1lIG9mIHRoZSBjbGFzcyBoYXMgdG8gYmUgIk1haW4iIG9ubHkgaWYgdGhlIGNsYXNzIGlzIHB1YmxpYy4gKi8KY2xhc3MgSWRlb25lCnsKCXN0YXRpYyBpbnRbXVtdIGNvbnZlcnRUb0RpYWdvbmFsKGludFtdW10gaW5wdXQpIHsKCgkJaW50W11bXSBvdXRwdXQgPSBuZXcgaW50W2lucHV0Lmxlbmd0aF1baW5wdXQubGVuZ3RoXTsKCQlpbnQgaSA9IDAsIGogPSAwOwoJCQoJCWludCBuID0gaW5wdXQubGVuZ3RoOwoJCWZvciAoaW50IHNsaWNlID0gMDsgc2xpY2UgPCAyICogbiAtIDE7IHNsaWNlKyspIHsKCQkJaW50IHogPSBzbGljZSA8IG4gPyAwIDogc2xpY2UgLSBuICsgMTsKCQkJZm9yIChpbnQgayA9IHo7IGsgPD0gc2xpY2UgLSB6OyArK2spIHsKCQkJCW91dHB1dFtpXVtqKytdID0gaW5wdXRba11bc2xpY2UgLSBrXTsKCQkJfQoJCQlpZihqID09IG4pIHsKCQkJCWogPSAwOwoJCQkJaSsrOwoJCQl9CgkJfQoJCXJldHVybiBvdXRwdXQ7Cgl9CgkKCXN0YXRpYyB2b2lkIHByaW50KGludFtdW10gZGF0YSkgewoJCWZvcihpbnQgaSA9IDA7IGkgPCBkYXRhLmxlbmd0aDsgaSsrKSB7CgkJCVN5c3RlbS5vdXQucHJpbnQoInwgIik7CgkJCWZvcihpbnQgaiA9IDA7IGogPCBkYXRhWzBdLmxlbmd0aDsgaisrKSB7CgkJCQlTeXN0ZW0ub3V0LnByaW50KGRhdGFbaV1bal0gKyAiICIpOwoJCQl9CgkJCVN5c3RlbS5vdXQucHJpbnRsbigifCIpOwoJCX0KCQlTeXN0ZW0ub3V0LnByaW50bG4oKTsKCX0gCgkKCXN0YXRpYyB2b2lkIHRlc3QoKSB7CgkJaW50W11bXSBkYXRhID0gbmV3IGludFszXVszXTsKCQlkYXRhWzBdID0gbmV3IGludFtdIHsgMSwgMiwgMyB9OwoJCWRhdGFbMV0gPSBuZXcgaW50W10geyA0LCA1LCA2IH07CgkJZGF0YVsyXSA9IG5ldyBpbnRbXSB7IDcsIDgsIDkgfTsKCQkKCQlTeXN0ZW0ub3V0LnByaW50bG4oIklucHV0OiIpOwoJCXByaW50KGRhdGEpOwoJCQoJCWRhdGEgPSBjb252ZXJ0VG9EaWFnb25hbChkYXRhKTsKCQkKCQlTeXN0ZW0ub3V0LnByaW50bG4oIk91dHB1dDoiKTsKCQlwcmludChkYXRhKTsKCX0KCglwdWJsaWMgc3RhdGljIHZvaWQgbWFpbihTdHJpbmdbXSBhcmdzKSB7CgkJdGVzdCgpOwoJfQp9