Pagini recente » Cod sursa (job #1509069) | Cod sursa (job #1761387) | Cod sursa (job #772076) | Cod sursa (job #2020688) | Cod sursa (job #231492)
Cod sursa(job #231492)
#include <cstdio>
int a[1001][1001];
int n,k;
void print ()
{
for (int i=1; i<=n; ++i)
{
int j;
for (j=1; j<n; ++j)
printf ("%d ", a[i][j]);
printf ("%d", a[i][j]);
printf ("\n");
}
}
void rotate_left (int i, int j)
{
int temp=a[i][1];
for (int k=1; k<n; ++k)
a[i][k]=a[i][k+1];
a[i][n]=a[j][n];
for (int k=n; k>0; --k)
a[j][k]=a[j][k-1];
a[j][1]=temp;
}
void rotate_right (int i, int j)
{
int temp=a[j][n];
for (int k=n; k>0; --k)
a[j][k]=a[j][k-1];
a[j][1]=a[i][n];
a[i][n]=temp;
}
int main ()
{
freopen ("tablete.in", "r" , stdin);
freopen ("tablete.out", "w", stdout);
scanf ("%d%d", &n, &k);
for (int i=1; i<=n; ++i)
for (int j=1; j<=n; ++j)
a[i][j]=(i-1)*n+j;
if (n%2)
{
for (int i=1; i<n; i+=2)
rotate_right (i,i+1);
}
if (a[1][k]%2)
{
for (int i=1; i<n; i+=2)
rotate_left (i,i+1);
if (n%2)
rotate_right (n-1, n);
}
print ();
return 0;
}