Pagini recente » Cod sursa (job #2284595) | Cod sursa (job #2277807) | Cod sursa (job #1696495) | Cod sursa (job #1453592) | Cod sursa (job #1902945)
#include<stdio.h>
char vc[1000005];
int a[1005][1005];
int main(){
freopen("tablete.in","r",stdin);
freopen("tablete.out","w",stdout);
int n,k,i,s,j;
scanf("%d%d",&n,&k);
if(k%2==0){
for(i=1,s=0;i<=n;i++)
for(j=1;j<=k;j++){
a[i][j]=++s;
vc[s]=1;
}
}
if(k%2==1){
for(i=1;i<=n;i++)
for(j=2;j<=k-1;j++){
a[i][j]=(i-1)*k+j;
vc[(i-1)*k+j]=1;
}
for(i=1;i<=n;i++){
if(i%2==1){
a[i][1]=(i-1)*k+1;
a[i][k]=k*i+1;
}
else{
a[i][1]=k*(i-1);
a[i][k]=k*i;
}
vc[a[i][1]]=1;
vc[a[i][k]]=1;
}
if(n%2==1){
for(j=1;j<=k;j++){
a[n][j]=(n-1)*k+j;
vc[a[n][j]]=1;
}
a[1][k+1]=n*k;
vc[n*k]=1;
}
}
int w=1;
for(i=1;i<=n;i++)
for(j=k+1;j<=n;j++){
while(vc[w]==1)
w++;
a[i][j]=w;
vc[w]=1;
}
for(i=1;i<=n;i++){
for(j=1;j<=n;j++)
printf("%d ",a[i][j]);
printf("\n");
}
return 0;
}