Pagini recente » Cod sursa (job #2631682) | Cod sursa (job #13534) | Cod sursa (job #2145612) | Cod sursa (job #1453733) | Cod sursa (job #230698)
Cod sursa(job #230698)
#include<stdio.h>
long n,k;
long a[1024][1024];
void afis1()
{
for( long i = 1; i <= n * n; ++i)
{
if( i%n != 0)
printf("%ld ",i);
else printf("%ld\n",i);
}
}
void afis()
{
for( long i = 1; i <= n; ++i)
{
for( long j = 1; j < n; ++j)
printf("%ld ",a[i][j]);
printf("%ld\n",a[i][n]);
}
}
void afis2()
{
for( long i = 1; i <= n; ++i)
{
for( long j = 1; j <= n; ++j)
a[i][j] = ( j - 1 ) * n + i;
}
for( long i = 1; i <= n; ++i)
{
a[i][k-1] = a[i][k-1] + i -1;
a[i][k] = a[i][k-1]+1;
}
afis();
}
void afis3()
{
for( long i = 1; i <= n; ++i)
{
for( long j = 1; j <= n; ++j)
a[i][j] = ( j - 1 ) * n + i;
}
long aux = a[1][k-1];
a[1][k-1] = a[n][k-2];
a[n][k-2] = aux;
a[1][k] = a[1][k-1] + 3;
for( long i = 2; i <= n; ++i)
{
a[i][k-1] = a[i-1][k-1]+2;
a[i][k] = a[i-1][k] + 2;
}
a[1][k+1]--;
afis();
}
int main()
{
freopen("tablete.in","r",stdin);
freopen("tablete.out","w",stdout);
scanf("%ld %ld",&n,&k);
if( n%2 == 0 && k %2 == 0)
{
afis1();
return 0;
}
if( n%2 == 0 )
{
afis2();
return 0;
}
if( k%2 == 0)
{
afis2();
return 0;
}
afis3();
return 0;
}