Pagini recente » Cod sursa (job #3164108) | Cod sursa (job #1605452) | Cod sursa (job #1333287) | Cod sursa (job #221734) | Cod sursa (job #350393)
Cod sursa(job #350393)
#include<stdio.h>
int i,j,n,k,p,nr,a[1005][1005];
int main(){
FILE*f=fopen("tablete.in","r");
FILE*g=fopen("tablete.out","w");
fscanf(f,"%d %d",&n,&k);
if(k%2==0){
for(i=1;i<=n;i++){
for(j=1;j<=n;j++){
a[i][j]=++nr;
fprintf(g,"%d ",a[i][j]);}
fprintf(g,"\n");}
}
else{
if(n%2==0 && k%2==1){
for(i=1;i<=n-1;i++){
if(i>=2){
if(i!=n-1){
a[i][1]=p;
for(j=2;j<k;j++)
a[i][j]=++nr;
nr++;
p=nr;
nr++;
a[i][k]=nr;
for(j=k+1;j<=n;j++)
a[i][j]=++nr;
}
else{
a[i][1]=p;
for(j=2;j<k;j++)
a[i][j]=++nr;
nr++;
p=nr;
nr++;
a[i][k]=nr;
for(j=k+1;j<n;j++)
a[i][j]=++nr;
a[i][n]=n*n;
}
}
else{
for(j=1;j<k;j++)
a[i][j]=++nr;
nr++;
p=nr;
nr++;
a[i][k]=nr;
for(j=k+1;j<=n;j++)
a[i][j]=++nr;
}
}
a[n][1]=p;
for(j=2;j<=n;j++)
a[n][j]=++nr;
for(i=1;i<=n;i++){
for(j=1;j<=n;j++)
fprintf(g,"%d ",a[i][j]);
fprintf(g,"\n");}
}
else{
if(n%2==1 && k%2==1){
for(i=1;i<=n-1;i++){
if(i%2==1){
for(j=1;j<k;j++)
a[i][j]=++nr;
nr++;
p=nr;
nr++;
a[i][k]=nr;
for(j=k+1;j<=n;j++)
a[i][j]=++nr;
}
else{
if(i!=n-1){
a[i][1]=p;
for(j=2;j<=n;j++)
a[i][j]=++nr;
}
else{
a[i][1]=p;
for(j=2;j<n;j++)
a[i][j]=++nr;
a[i][n]=n*n;
}
}
}
for(i=1;i<=n;i++)
a[n][i]=++nr;
for(i=1;i<=n;i++){
for(j=1;j<=n;j++)
fprintf(g,"%d ",a[i][j]);
fprintf(g,"\n");}
}
}
}
fclose(f),fclose(g);
return 0;
}