Pagini recente » Cod sursa (job #1879391) | Cod sursa (job #1624016) | Autentificare | Cod sursa (job #1829015) | Cod sursa (job #3205733)
#include <bits/stdc++.h>
using namespace std;
ifstream fin( "tablete.in" );
ofstream fout( "tablete.out" );
const int DIM = 1e3 + 5;
int t[DIM][DIM];
int main() {
int n, k, idx = 0;
fin >> n >> k;
if ( n % 2 == 0 ) {
if ( k & 1 ) {
idx = n;
for ( int i = 1; i <= n; ++i ) {
for ( int j = 1; j <= n; ++j ) {
if ( j == 1 ) {
t[i][j] = i;
continue;
}
if ( j == n ) {
t[i][j] = n * (n - 1) + i;
continue;
}
t[i][j] = ++idx;
}
}
} else {
for ( int i = 1; i <= n; ++i ) {
for ( int j = 1; j <= n; ++j ) {
t[i][j] = ++idx;
}
}
}
} else {
if ( k & 1 ) {
for ( int i = 1; i <= n; ++i ) {
for ( int j = 1; j <= n; ++j ) {
t[i][j] = ++idx;
}
}
for ( int i = 1; i <= n; i += 2 ) {
int aux = t[i][n];
for ( int j = n; j >= 2; --j ) {
t[i][j] = t[i][j - 1];
}
t[i][1] = t[i - 1][n];
t[i - 1][n] = aux;
}
for ( int i = 1; i < n; ++i ) {
t[1][i] += 2;
}
t[1][n] = t[n][1];
t[n][1] = 1;
} else {
idx = n;
for ( int i = 1; i <= n; ++i ) {
for ( int j = 1; j <= n; ++j ) {
if ( j == 1 ) {
t[i][j] = i;
continue;
}
t[i][j] = ++idx;
}
}
}
}
for ( int i = 1; i <= n; ++i ) {
for ( int j = 1; j <= n; ++j ) {
if ( j == k ) {
assert(t[i][j] % 2 == 0);
}
fout << t[i][j] << " ";
}
fout << "\n";
}
fin.close();
fout.close();
return 0;
}