Pagini recente » Cod sursa (job #1466058) | Cod sursa (job #1744818) | Cod sursa (job #2689638) | Cod sursa (job #2230971) | Cod sursa (job #1841145)
#include <fstream>
#define MAXN 1005
using namespace std;
ifstream f("tablete.in");
ofstream g("tablete.out");
int A[MAXN][MAXN];
int main()
{
int n, k, cont = 1;
f >> n >> k;
if (n % 2 == 0 || (n % 2 == 1 && k % 2 == 0)) {
for (int i = 1; i < k - 1; i++) {
for (int j = 1; j <= n; j++) {
A[j][i] = cont++;
}
}
for (int i = 1; i <= n; i++) {
A[i][k - 1] = cont++;
A[i][k] = cont++;
}
for (int i = k + 1; i <= n; i++) {
for (int j = 1; j <= n; j++) {
A[j][i] = cont++;
}
}
} else {
//
for (int i = 1; i < k - 1; i++) {
for (int j = 1; j < n; j++) {
A[j][i] = cont++;
}
}
for (int i = 1; i < n; i++) {
A[i][k - 1] = cont++;
A[i][k] = cont++;
}
for (int i = 1; i < k; i++) {
A[n][i] = cont++;
}
A[n][k] = ++cont;
A[1][k+1] = cont - 1;
for (int i = k + 1; i <= n; i++) {
for (int j = (i == k + 1) ? 2 : 1; j <= n; j++) {
A[j][i] = ++cont;
}
}
}
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= n; j++) {
g << A[i][j] << " ";
}
g << endl;
}
return 0;
}