Pagini recente » Cod sursa (job #2701541) | Cod sursa (job #2297100) | Cod sursa (job #392751) | Cod sursa (job #2458786) | Cod sursa (job #2255392)
#include <iostream>
#include <fstream>
#define nmax 1010
using namespace std;
ifstream f("tablete.in");
ofstream g("tablete.out");
void Read();
void Solve();
void Print();
int n, k, a[nmax][nmax], vis[nmax * nmax];
int main() {
Read();
Solve();
Print();
return 0;
}
void Read() {
f >> n >> k;
}
void Solve() {
int currEven = 2;
int currValue = 1;
for (int i = 1;i <= n; ++ i) {
for (int j = 1;j < k; ++ j) {
while (vis[currValue] == 1) {
currValue ++;
}
a[i][j] = currValue;
vis[currValue] = 1;
}
while (vis[currEven] == 1) {
currEven = currEven + 2;
}
vis[currEven] = 1;
a[i][k] = currEven;
}
int lastElement = n * n;
for (int i = n;i >= 1; --i) {
for (int j = n; j > k; --j) {
while (vis[lastElement] == 1) {
lastElement --;
}
a[i][j] = lastElement;
vis[lastElement] = 1;
}
}
}
void Print() {
for (int i = 1;i <= n; ++i) {
for (int j = 1; j <= n; ++j) {
g << a[i][j] << " ";
}
g << "\n";
}
}