Pagini recente » Cod sursa (job #857125) | Cod sursa (job #296760) | Cod sursa (job #1932958) | Cod sursa (job #279053) | Cod sursa (job #585516)
Cod sursa(job #585516)
#include<cstdio>
long n, k, p, i, j, a[1001][1001], x, c, t, r, caut, dif;
int main()
{
freopen("tablete.in", "r", stdin);
freopen("tablete.out", "w", stdout);
scanf("%d %d", &n, &k);
p=1;
for(i=1; i<=n; ++i)
for(j=1; j<=k; ++j) if(!a[i][j] && j!=k) { a[i][j]=p;
++p;
}
else if(j==k) if(p%2==0) { a[i][j]=p;
++p;
}
else { a[i][j]=p+1;
a[i+1][1]=p;
p+=2;
}
c=1;
for(i=1; i<=n; ++i)
{ while(c<=x) for(j=1; j<=n; ++j) if(a[i][j]==c) { ++c;
i=1;
j=n+1;
}
else for(t=1; t<=n; ++t)
for(r=k+1; r<=n; ++r) if(c>a[t][r-1]) { a[t][r]=c;
t=n+1;
r=n+1;
++c;
i=1;
j=n+1;
}
}
/* if(a[n][k]-a[n][k-1]>1) { dif=a[n][k]-a[n][k-1];
caut=a[n][k-1];
for(i=1; i<=n; ++i)
for(j=k+1; j<=n; ++j) { ++caut;
if(caut==dif) caut++;
a[i][j]=caut;
}
}
else {
//for(i=1; i<=n; ++i){ for(j=1; j<=n; ++j) printf("%d ", a[i][j]); printf("\n"); } */
for(i=1; i<=n; ++i)
for(j=k+1; j<=n; ++j) { a[i][j]=p;
++p;
}
//}
for(i=1; i<=n; ++i)
{ for(j=1; j<=n; ++j) printf("%d ", a[i][j]);
printf("\n");
}
fclose(stdin);
fclose(stdout);
return 0;
}