Pagini recente » Rating Osan Andreea Maria (deeyame) | Cod sursa (job #3287028) | Cod sursa (job #2986549) | Cod sursa (job #2820412) | Cod sursa (job #231056)
Cod sursa(job #231056)
#include<stdio.h>
int n,k;
long v[1001][1001]; // v[1001][1001];
void read()
{
freopen("tablete.in","r",stdin);
freopen("tablete.out","w",stdout);
scanf("%d%d",&n,&k);
}
void rez()
{
int i,j;
long nr=0,lim=0;
if((k&1) && ((n&1)==0)) // n par, k impar
{
v[2][1]=1;
nr=1;
for(j=1;j<n;j++)
v[1][j]=++nr;
for(j=2;j<=n;j++)
v[2][j]=++nr;
v[1][n]=++nr;
for(i=1;i<n;i=i+2)
{
for(j=1;j<=n;j++)
printf("%ld ",v[1][j]+lim);
printf("\n");
for(j=1;j<=n;j++)
printf("%ld ",v[2][j]+lim);
printf("\n");
lim=lim+n+n;
}
return;
}
if(((k&1)==0) && (n&1)) //n impar, k par
{
nr=0;
for(j=1;j<=n;j++)
v[1][j]=++nr;
v[3][1]=++nr;
for(j=1;j<=n;j++)
v[2][j]=++nr;
for(j=2;j<=n;j++)
v[3][j]=++nr;
for(j=1;j<=n;j++)
printf("%ld ",v[1][j]);
printf("\n");
for(i=2;i<=n;i=i+2)
{
for(j=1;j<=n;j++)
printf("%ld ",v[2][j]+lim);
printf("\n");
for(j=1;j<=n;j++)
printf("%ld ",v[3][j]+lim);
printf("\n");
lim=lim+n+n;
}
return;
}
if((n&1) && (k&1))
{
v[2][1]=1;
v[1][1]=2;
nr=2;
for(j=2;j<=n;j++)
v[1][j]=++nr;
for(j=2;j<=n;j++)
v[2][j]=++nr;
lim=0;
for(i=3;i<n;i=i+2)
{
lim=lim+n+n;
for(j=1;j<=n;j++)
printf("%ld ",v[1][j]+lim);
printf("\n");
for(j=1;j<=n;j++)
printf("%ld ",v[2][j]+lim);
printf("\n");
}
nr=(long)n*n-n;
for(j=2;j<=n;j++)
v[n][j]=++nr;
v[n][1]=v[1][n];
v[1][n]=(long)n*n;
for(j=1;j<=n;j++)
printf("%ld ",v[1][j]);
printf("\n");
for(j=1;j<=n;j++)
printf("%ld ",v[2][j]);
printf("\n");
for(j=1;j<=n;j++)
printf("%ld ",v[n][j]);
printf("\n");
return;
}
if(((n&1)==0) && ((k&1)==0))
{
for(i=1;i<=n;i++)
{
for(j=1;j<=n;j++)
printf("%ld ",++nr);
printf("\n");
}
}
}
int main()
{
read();
rez();
return 0;
}