Pagini recente » Cod sursa (job #1915144) | Cod sursa (job #2298985) | Cod sursa (job #2072765) | Cod sursa (job #3202953) | Cod sursa (job #1891414)
#include <stdio.h>
#define MAX 1002
int t[MAX][MAX],f[MAX*MAX];
int main(){
FILE *fin=fopen("tablete.in","r");
FILE *fout=fopen("tablete.out","w");
int n,k,i,j,v,s;
fscanf(fin,"%d%d",&n,&k);
if(k%2==0){
for(i=0; i<n; i++){
for(j=0; j<n; j++)
fprintf(fout,"%d ",i*n+j+1);
fprintf(fout,"\n");
}
}else{
s=k+1-k%2+1;
for(i=1; i<n; i++){
t[i][k]=s*i;
f[s*i]=1;
}
if(s*n>n*n-(n-k+1))
t[n][k]=n*n-(n-k+1);
else
t[n][k]=s*n;
f[t[n][k]]=1;
v=1;
for(i=1; i<=n; i++)
for(j=1; j<k; j++){
t[i][j]=v++;
if(f[v]==1)
v++;
f[v]=1;
}
for(i=1; i<=n; i++)
for(j=k+1; j<=n; j++){
t[i][j]=v++;
if(f[v]==1)
v++;
f[v]=1;
}
for(i=1; i<=n; i++){
for(j=1; j<=n; j++)
fprintf(fout,"%d ",t[i][j]);
fprintf(fout,"\n");
}
}
fclose(fin);
fclose(fout);
return 0;
}