Pagini recente » Cod sursa (job #434376) | Cod sursa (job #1638336) | Cod sursa (job #1940450) | Cod sursa (job #1592767) | Cod sursa (job #317878)
Cod sursa(job #317878)
#include<stdio.h>
int a[1005][1005],i,j,n,k,aux,nr;
int main(){
FILE*f=fopen("tablete.in","r");
FILE*g=fopen("tablete.out","w");
fscanf(f,"%d %d",&n,&k);
aux=1;
nr=1;
if(k%2==n%2 && k%2==1){
for(i=1;i<=n;i++){
for(j=1;j<=k;j++){
if(j==1)
a[i][j]=aux;
else{
if(j<k)
a[i][j]=++nr;
if(j==k){
if(j%2==k%2 && k%2==0)
a[i][j]=++nr;
if(j%2==k%2 && k%2==1 && (nr+1)%2==1){
nr++;
aux=nr;
a[i][j]=++nr;
}
if(j%2==k%2 && k%2==1 && (nr+1)%2==0){
a[i][j]=++nr;
aux=nr+1;
nr++;
}
}
}
}
}
nr-=2;
a[1][k+1]=++nr;
nr+=2;
a[1][k+2]=nr;
for(i=k+3;i<=n;i++)
a[1][i]=++nr;
for(i=2;i<=n;i++)
for(j=k+1;j<=n;j++)
a[i][j]=++nr;
}
if(k%2==0 && k!=n-1)
for(i=1;i<=n;i++){
for(j=1;j<=n;j++)
a[i][j]=nr++;
}
if(k%2==1 && n%2==0 && k!=n-1){
for(i=1;i<=n;i++){
for(j=1;j<=k;j++){
if(j==1)
a[i][j]=aux;
else{
if(j<k){
a[i][j]=++nr;
//aux=nr;
}
if(j==k){
if(j%2==k%2 && k%2==0){
a[i][j]=++nr;
//aux=nr;
}
if(j%2==k%2 && k%2==1 && (nr+1)%2==1){
nr++;
aux=nr;
a[i][j]=++nr;
//plus++;
}
if(j%2==k%2 && k%2==1 && (nr+1)%2==0){
a[i][j]=++nr;
aux=nr+1;
nr++;
}
}
}
}
}
nr--;
a[1][k+1]=++nr;
nr++;
a[1][k+2]=nr;
for(i=k+3;i<=n;i++)
a[1][i]=++nr;
for(i=2;i<=n;i++)
for(j=k+1;j<=n;j++)
a[i][j]=++nr;
}
if(k==n-1){
if(k%2==0){
for(i=1;i<=n;i++)
for(j=1;j<=n-1;j++)
a[i][j]=nr++;
for(i=1;i<=n;i++)
a[i][j]=nr++;
}
else{
for(i=1;i<=n;i++)
for(j=1;j<=n-1;j++){
if(j==1)
a[i][j]=aux;
else{
if(j<k){
a[i][j]=++nr;
//aux=nr;
}
if(j==k){
if(j%2==k%2 && k%2==0){
a[i][j]=++nr;
//aux=nr;
}
if(j%2==k%2 && k%2==1 && (nr+1)%2==1){
nr++;
aux=nr;
a[i][j]=++nr;
//plus++;
}
if(j%2==k%2 && k%2==1 && (nr+1)%2==0){
a[i][j]=++nr;
aux=nr+1;
nr++;
}
}
}
}
for(i=1;i<=n;i++){
a[i][n]=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;
}