Pagini recente » Cod sursa (job #1993191) | Cod sursa (job #923992) | Cod sursa (job #1103995) | Cod sursa (job #103978) | Cod sursa (job #2524604)
#include <fstream>
using namespace std;
ifstream cin("tablete.in");
ofstream cout("tablete.out");
const int MAX = 1005;
// 0 e liber, iar 1 ocupat
int main() {
int n, k;
int v[MAX][MAX];
cin >> n >> k;
for (int i = 1; i <= n; ++i)
for (int j = 1; j <= n; ++j)
cin >> v[i][j];
int ind = 1;
if (k % 2 == 0) {
for (int i = 1; i <= n; ++i)
for (int j = 1; j <= k; ++j) {
v[i][j] = ind;
ind++;
}
for (int i = 1; i <= n; ++i)
for (int j = k + 1; j <= n; ++j) {
v[i][j] = ind;
ind++;
}
}
else if (k % 2 == 1 && n % 2 == 0) {
ind = 1;
int index = 0;
for (int DE = 1; DE <= n / 2; ++DE) {
for (int j = 1; j <= k - 1; ++j) {
v[1 + index][j] = ind;
ind++;
}
v[1 + index][k] = ind + 1;
v[2 + index][1] = ind;
ind += 2;
for (int j = 2; j <= k; ++j) {
v[2 + index][j] = ind;
ind++;
}
index += 2;
}
for (int i = 1; i <= n; ++i)
for (int j = k + 1; j <= n; ++j) {
v[i][j] = ind;
ind++;
}
}
else if (k % 2 == 1 && n % 2 == 1) {
ind = 1;
int index = 0;
for (int DE = 1; DE <= n / 2; ++DE) {
for (int j = 1; j <= k - 1; ++j) {
v[1 + index][j] = ind;
ind++;
}
v[1 + index][k] = ind + 1;
v[2 + index][1] = ind;
ind += 2;
for (int j = 2; j <= k; ++j) {
v[2 + index][j] = ind;
ind++;
}
index += 2;
}
for (int j = 1; j <= k - 1; ++j) {
v[n][j] = ind;
ind++;
}
v[n][k] = ind + 1;
ind++;
v[1][k + 1] = ind - 1;
for (int j = k + 2; j <= n; ++j) {
v[1][j] = ind;
ind++;
}
for (int i = 2; i <= n; ++i)
for (int j = k + 1; j <= n; ++j) {
v[i][j] = ind;
ind++;
}
}
for (int i = 1; i <= n; ++i) {
for (int j = 1; j <= n; ++j)
cout << v[i][j] << " ";
cout << "\n";
}
return 0;
}