Pagini recente » Cod sursa (job #3122957) | Cod sursa (job #1961588) | Cod sursa (job #2343647) | Cod sursa (job #2679065) | Cod sursa (job #2915355)
#include <bits/stdc++.h>
using namespace std;
ifstream fin( "tablete.in" );
FILE *fout = fopen( "tablete.out", "w" );
const int DIM = 1005;
int T[DIM][DIM];
void giveNum( int n ) {
int m = n, p = 10;
while ( m > 9 ) {
p *= 10;
m /= 10;
}
p /= 10;
while ( p > 0 ) {
fputc( n / p + '0', fout );
n %= p;
p /= 10;
}
fputc( ' ', fout );
}
int main() {
int n, k;
fin >> n >> k;
if ( k & 1 ) {
int nr = 0;
for ( int i = 0; i < n/2; ++i ) {
for ( int j = 0; j < k - 1; ++j ) {
T[2 * i][j] = ++nr;
}
T[2 * i + 1][0] = ++nr;
T[2 * i][k - 1] = ++nr;
for ( int j = 1; j < k; ++j ) {
T[2 * i + 1][j] = ++nr;
}
}
if ( n & 1 ) {
for ( int j = 0; j < k - 1; ++j ) {
T[n - 1][j] = ++nr;
}
T[0][k] = ++nr;
T[n - 1][k - 1] = ++nr;
}
for ( int i = 0; i < n; ++i ) {
for ( int j = k; j < n; ++j ) {
if ( T[i][j] == 0 ) T[i][j] = ++nr;
}
}
for ( int i = 0; i < n; ++i ) {
for ( int j = 0; j < n; ++j ) {
giveNum( T[i][j] );
}
fputc( '\n', fout );
}
} else {
for ( int i = 0; i < n; ++i ) {
for ( int j = 0; j < n; ++j ) {
giveNum( i * n + j + 1 );
}
fputc( '\n', fout );
}
}
fin.close();
fclose( fout );
return 0;
}