Pagini recente » Cod sursa (job #670384) | Cod sursa (job #507381) | Cod sursa (job #3292363) | Cod sursa (job #1864422) | Cod sursa (job #1883999)
#include <stdio.h>
#include <stdlib.h>
char f[1000000];
int a[1000][1000];
int main() {
FILE *fin, *fout;
int n, k, nr, i, j;
fin = fopen( "tablete.in", "r" );
fout = fopen( "tablete.out", "w" );
fscanf( fin, "%d%d", &n, &k );
k--;
nr = n * n;
for ( i = n - 1; i >= 0; i-- ) {
for ( j = n - 1; j > k; j-- )
nr--;
if ( nr % 2 == 0 ) {
a[i][k] = nr;
f[nr] = 1;
nr--;
} else {
a[i][k] = nr - 1;
f[nr - 1] = 1;
nr -= 2;
}
}
nr = n * n;
for ( i = n - 1; i >= 0; i-- ) {
for ( j = n - 1; j > k; j-- ) {
while ( f[nr] == 1 )
nr--;
a[i][j] = nr;
f[nr] = 1;
}
}
nr = 1;
for ( i = 0; i < n; i++ ) {
for ( j = 0; j < k; j++ ) {
while ( f[nr] == 1 )
nr++;
a[i][j] = nr;
f[nr] = 1;
}
}
for ( i = 0; i < n; i++ ) {
for ( j = 0; j < n; j++ )
fprintf( fout, "%d ", a[i][j] );
fprintf( fout, "\n" );
}
fclose( fin );
fclose( fout );
return 0;
}