Pagini recente » Cod sursa (job #1765769) | Cod sursa (job #2495688) | Cod sursa (job #486285) | Cod sursa (job #479563) | Cod sursa (job #232738)
Cod sursa(job #232738)
#include <cstdio>
#define MAX_N 1003
int N, K;
bool viz[MAX_N*MAX_N];
int A[MAX_N][MAX_N];
int main()
{
freopen("tablete.in","rt",stdin);
freopen("tablete.out","wt",stdout);
scanf("%d %d",&N, &K);
int p = K, r = 0;
if(p & 1) ++p, r = 1;
A[1][K] = p;
viz[p] = 1;
for(int i = 2; i <= N; ++i)
{
p = p + K - r;
r = p - i*K;
if((p & 1)) p--, r--;
viz[p] = 1;
A[i][K] = p;
}
p = 1;
for(int i = 1; i <= N; ++i)
for(int j = 1; j < K; ++j)
{
while(viz[p]) p++;
A[i][j] = p++;
}
for(int i = 1; i <= N; ++i)
for(int j = K+1; j <= N; ++j)
{
while(viz[p]) p++;
A[i][j] = p++;
}
for(int i = 1; i <= N; ++i)
{
for(int j = 1; j <= N; ++j)
printf("%d ",A[i][j]);
printf("\n");
}
}