Pagini recente » Cod sursa (job #2381544) | Cod sursa (job #426466) | Cod sursa (job #372213) | Autentificare | Cod sursa (job #230932)
Cod sursa(job #230932)
#include <stdio.h>
int main(void)
{
freopen("tablete.in","r",stdin);
freopen("tablete.out","w",stdout);
long n,k,i,j;
scanf("%ld %ld",&n,&k);
if (n%2==0 && k%2==0)
for (i=1;i<=n;i++)
{
for (j=1;j<=n;j++)
printf("%ld ",(i-1)*n+j);
printf("\n");
}
if (n%2==0 && k%2==1)
{
long n1=0,n2=n*(k-2),n3=n*k;
for (i=1;i<=n;i++)
{
for (j=1;j<=n;j++)
if (j<k-1) printf("%ld ",++n1);
else
if (j>k) printf("%ld ",++n3);
else printf("%ld ",++n2);
printf("\n");
}
}
if (n%2==1 && k%2==1)
{
long n1=1;
long n2=n*n-(n-k)*n-2*n+3;
long n3=n2+((n-1)*2)-1;
long c1=n1;
long c2=n2;
long c3=n3;
for (i=1;i<=n;i++)
{
for (j=1;j<=n;j++)
if (j<k) {printf("%ld ",n1); if (n1+1<c2) n1++; else n1+=2;}
else
if (j==k) {printf("%ld ",n2); n2+=2;}
else {printf("%ld ",n3); if (n3==c3) n3+=2; else n3++;}
printf("\n");
}
}
if (n%2==1 && k%2==0)
{
long n1=1;
long n2=(k-1)*n+1;
long n3=n2+1;
long max3=n2+(n-1)*2;
for (i=1;i<=n;i++)
{
for (j=1;j<=n;j++)
if (j<k) printf("%ld ",n1++);
else if (j==k) {printf("%ld ",n2); n2+=2;}
else
{
printf("%ld ",n3);
if (n3<max3) n3+=2; else n3++;
};
printf("\n");
}
}
return 0;
}