Pagini recente » Rating Bortun M (bortunm) | Cod sursa (job #1180355) | Cod sursa (job #1696898) | Cod sursa (job #3185767) | Cod sursa (job #2215074)
#include <bits/stdc++.h>
using namespace std;
ifstream in("tablete.in");
ofstream out("tablete.out");
int N, K;
priority_queue<int, vector<int>, greater<int>> pq;
int v[1002][1002];
int main()
{
in >> N >> K;
for( int i = 1; i <= N*N; ++i ) pq.push(i);
for( int i = 1; i <= N; ++i ) {
for( int j = 1; j < K; ++j ) {
v[i][j] = pq.top();
pq.pop();
}
int el = 0;
if( pq.top() % 2 ) {
el = pq.top();
pq.pop();
}
v[i][K] = pq.top();
pq.pop();
if(el)
pq.push(el);
}
priority_queue<int> pp;
while(!pq.empty()) {
pp.push(pq.top());
pq.pop();
}
for( int col = N; col > K; --col ) {
for( int line = N; line >= 1; --line ) {
v[line][col] = pp.top();
pp.pop();
}
}
for( int i = 1; i <= N; ++i ) for( int j = 1; j <= N; ++j ) out << v[i][j] << " \n"[j == N];
return 0;
}