Pagini recente » Cod sursa (job #1722992) | Cod sursa (job #1264445) | Cod sursa (job #3197637) | Cod sursa (job #534912) | Cod sursa (job #1887247)
#include <stdio.h>
#include <stdlib.h>
int a[1001][1001],v[1000001];
int main()
{
int n,k,i,j,c;
freopen("tablete.in","r",stdin);
freopen("tablete.out","w",stdout);
scanf("%d%d",&n,&k);
if(k%2==0)
for(i=1; i<=n; i++){
for(j=1; j<=n; j++)
printf("%d ",(i-1)*n+j);
printf("\n");
}
else
{
if(n%2==0){
c=k+1;
for(j=k; j<=n; j++,c++)
a[1][j]=c;
for(i=2; i<=n-1; i++)
for(j=1; j<=n; j++,c++)
a[i][j]=c;
c--;
a[n-1][n]=n*n;
for(j=2; j<=n; j++,c++)
a[n][j]=c;
a[n][1]=k;
for(j=1; j<k; j++)
a[1][j]=j;
for(i=1; i<=n; i++){
for(j=1; j<=n; j++)
printf("%d ",a[i][j]);
printf("\n");
}
}
else
{
for(i=1; i<=n; i++)
for(j=1; j<=n; j++)
a[i][j]=(i-1)*n+j;
for(i=1; i<=n-2; i+=2)
for(j=1; j<=n-1; j++)
a[i][j]=(i-1)*n+j+1;
for(j=2; j<=n; j++)
a[n][j]=(n-1)*n+j-1;
a[n][1]=1;
c=1;
for(i=1; i<=n-2; i+=2,c++)
v[c]=(i-1)*n+1;
v[c]=n*n;
c=2;
for(i=1; i<=n-2; i+=2,c++)
a[i][n]=v[c];
for(i=1; i<=n; i++){
for(j=1; j<=n; j++)
printf("%d ",a[i][j]);
printf("\n");
}
}
}
return 0;
}