/* 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
{
{
generateMatrixFile(4, 3);
}
public static void generateMatrixFile(int n , int m) {
int A[][] = new int[m][n]; // Switched m and n
int k=1, c1=0, c2=n-1, r1=0, r2=m-1; // Switched m and n
while (k<=n*m) {
for (int i=c1;i<=c2 && k<=n*m;i++) {
A[r1][i]=k++;
}
for(int j=r1+1;j<=r2 && k<=n*m;j++) {
A[j][c2]=k++;
}
for(int i=c2-1;i>=c1 && k<=n*m;i--) {
A[r2][i]=k++;
}
for(int j=r2-1;j>=r1+1 && k<=n*m;j--) {
A[j][c1]=k++;
}
c1++;
c2--;
r1++;
r2--;
}
System.
out.
println("The Matrix is:"); for (int i=n-1;i>=0;i--) {
for(int j=0 ; j < m ; j++) {
System.
out.
print(A
[j
][i
]+ "\t"); }
}
}
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CgovKiBOYW1lIG9mIHRoZSBjbGFzcyBoYXMgdG8gYmUgIk1haW4iIG9ubHkgaWYgdGhlIGNsYXNzIGlzIHB1YmxpYy4gKi8KY2xhc3MgSWRlb25lCnsKCXB1YmxpYyBzdGF0aWMgdm9pZCBtYWluIChTdHJpbmdbXSBhcmdzKSB0aHJvd3MgamF2YS5sYW5nLkV4Y2VwdGlvbgoJewoJCWdlbmVyYXRlTWF0cml4RmlsZSg0LCAzKTsKCX0KCQogICAgcHVibGljIHN0YXRpYyB2b2lkIGdlbmVyYXRlTWF0cml4RmlsZShpbnQgbiAsIGludCBtKSB7CiAgICAgICAgaW50IEFbXVtdID0gbmV3IGludFttXVtuXTsgLy8gU3dpdGNoZWQgbSBhbmQgbgogICAgICAgIGludCBrPTEsIGMxPTAsIGMyPW4tMSwgcjE9MCwgcjI9bS0xOyAvLyBTd2l0Y2hlZCBtIGFuZCBuCiAgICAgICAgd2hpbGUgKGs8PW4qbSkgewogICAgICAgICAgICBmb3IgKGludCBpPWMxO2k8PWMyICYmIGs8PW4qbTtpKyspIHsKICAgICAgICAgICAgICAgIEFbcjFdW2ldPWsrKzsKICAgICAgICAgICAgfQogICAgICAgICAgICBmb3IoaW50IGo9cjErMTtqPD1yMiAmJiBrPD1uKm07aisrKSB7CiAgICAgICAgICAgICAgICBBW2pdW2MyXT1rKys7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgZm9yKGludCBpPWMyLTE7aT49YzEgJiYgazw9biptO2ktLSkgewogICAgICAgICAgICAgICAgQVtyMl1baV09aysrOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGZvcihpbnQgaj1yMi0xO2o+PXIxKzEgJiYgazw9biptO2otLSkgewogICAgICAgICAgICAgICAgQVtqXVtjMV09aysrOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGMxKys7CiAgICAgICAgICAgIGMyLS07CiAgICAgICAgICAgIHIxKys7CiAgICAgICAgICAgIHIyLS07CiAgICAgICAgfQogICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigiVGhlIE1hdHJpeCBpczoiKTsKICAgICAgICBmb3IgKGludCBpPW4tMTtpPj0wO2ktLSkgewogICAgICAgICAgICBmb3IoaW50IGo9MCA7IGogPCBtIDsgaisrKSB7CiAgICAgICAgICAgICAgICBTeXN0ZW0ub3V0LnByaW50KEFbal1baV0rICJcdCIpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigpOwogICAgICAgIH0KICAgIH0KfQ==