Pagini recente » Cod sursa (job #3260619) | Cod sursa (job #1006297) | Cod sursa (job #1167120) | Cod sursa (job #1825219) | Cod sursa (job #2215078)
#include <bits/stdc++.h>
using namespace std;
ifstream in("tablete.in");
ofstream out("tablete.out");
int N, K;
int v[1002][1002];
bitset<1002*1002> bs;
bitset<1002*1002> used;
int main()
{
in >> N >> K;
///for( int i = 1; i <= N*N; ++i ) pq.push(i);
int ind = 1;
for( int i = 1; i <= N; ++i ) {
for( int j = 1; j < K; ++j ) {
while(used[ind]) ++ind;
v[i][j] = ind;
bs[ v[i][j] ].flip();
used[ind].flip();
++ind;
}
int el = 0;
if( ind % 2 ) {
el = ind;
++ind;
}
v[i][K] = ind;
bs[ v[i][K] ].flip();
used[ind].flip();
++ind;
if(el)
ind = el;
}
ind = N * N;
for( int col = N; col > K; --col ) {
for( int line = N; line >= 1; --line ) {
while( bs[ind] )
--ind;
v[line][col] = ind;
bs[ind].flip();
}
}
for( int i = 1; i <= N; ++i ) for( int j = 1; j <= N; ++j ) out << v[i][j] << " \n"[j == N];
return 0;
}