Pagini recente » Cod sursa (job #1639496) | Cod sursa (job #2794597) | Cod sursa (job #2080146) | Cod sursa (job #207463) | Cod sursa (job #2099609)
#include <fstream>
using namespace std;
int a[1002][1002];
int n, k, i, j, aux, t;
int main () {
ifstream fin ("tablete.in");
ofstream fout("tablete.out");
fin>>n>>k;
for (i=1;i<=n;i++)
for (j=1;j<=n;j++)
a[i][j] = ++t;
if (n%2 == 0) {
if (k%2 == 1) {
t = 1;
for (i=1;i<=n/2;i++)
for (j=1;j<=n;j++) {
a[i][j] = t;
t+=2;
}
t = 2;
for (i=n/2+1;i<=n;i++)
for (j=1;j<=n;j++) {
a[i][j] = t;
t+=2;
}
for (i=1;i<=n/2;i++)
swap(a[i][k], a[i+n/2][k]);
}
} else {
if (k % 2 == 0) {
for (i=2; i<n; i+=2) {
aux = a[i][k];
for (j=k;j<n;j++)
a[i][j] = a[i][j+1];
a[i][n] = a[i+1][1];
a[i+1][1] = aux;
}
} else {
for (i=1; i<n; i+=2) {
aux = a[i][k];
for (j=k;j<n;j++)
a[i][j] = a[i][j+1];
a[i][n] = a[i+1][1];
a[i+1][1] = aux;
}
for (j=n;j>1;j--)
a[n][j] = a[n][j-1];
a[n][1] = a[n-1][n];
a[n-1][n] = n*n;
}
}
for (i=1;i<=n;i++) {
for (j=1;j<=n;j++)
fout<<a[i][j]<<" ";
fout<<"\n";
}
return 0;
}
/*
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31 32 33 34 35
36 37 38 39 40 41 42
43 44 45 46 47 48 49
1 2 3 4 6 7 8
5 9 10 11 12 13 14
15 16 17 18 20 21 22
19 23 24 25 26 27 28
29 30 31 32 34 35 36
33 37 38 39 40 41 42
43 44 45 46 47 48 49
*/