Pagini recente » Cod sursa (job #1115312) | Cod sursa (job #2589196) | Cod sursa (job #324564) | Cod sursa (job #1217238) | Cod sursa (job #1889355)
#include <stdio.h>
const int MAX = 1001;
int a[MAX][MAX];
char val[MAX * MAX];
int main()
{
FILE *fin, *fout;
int n, k, i, nr, j;
fin = fopen ("tablete.in", "r");
fout = fopen ("tablete.out", "w");
fscanf (fin, "%d%d", &n, &k);
for ( i = 1; i <= n; i++) {
a[i][k] = i * k + (i * k) % 2;
val[i * k + (i * k) % 2] = 1;
}
nr = 1;
for ( i = 1; i <= n ;i++)
for ( j = 1; j < k; j++)
{
nr = nr + val[nr];
a[i][j] = nr;
val[nr] = 1;
nr++;
}
nr = n * n;
for ( i = n; i >= 1 ;i--)
for ( j = n; j > k; j--)
{
while (val[nr] == 1)
nr--;
a[i][j] = nr;
nr--;
}
for ( i = 1; i <= n ;i++)
{
for ( j = 1; j <= n ; j++)
fprintf (fout, "%d ", a[i][j]);
fprintf (fout, "\n");
}
fclose (fin);
fclose (fout);
return 0;
}