Pagini recente » Cod sursa (job #1897489) | Cod sursa (job #3121315) | Cod sursa (job #997542) | Cod sursa (job #2027313) | Cod sursa (job #1886015)
#include <cstdio>
int matr[1000][1000];
int main() {
int n, k;
FILE *fin = fopen("tablete.in", "r");
fscanf(fin, "%d%d", &n, &k);
fclose(fin);
int i = 1;
if(n % 2 == 0 && k % 2 == 0) {
for(int l = 0; l < n; ++l)
for(int c = 0; c < n; ++c)
matr[l][c] = i++;
}else if(n % 2 == 1 && k % 2 == 0) {
int first = 1;
for(i = 0; i < k - 1; ++i)
for(int j = 0; j < n; ++j)
matr[j][i] = first++;
for(int j = 0; j < n; ++j) {
matr[j][k - 1] = first++;
matr[j][k] = first++;
}
for(int i = k + 1; i < n; i++)
for(int j = 0; j < n; ++j)
matr[j][i] = first++;
} else {
int first = 1;
for(int i = 0; i < k - 1; ++i)
for(int j = 0; j < n; ++j)
matr[j][i] = first++;
matr[n - 1][k - 2] = first;
first--;
for(i = 0; i < n; ++i) {
matr[i][k - 1] = first;
matr[i][k] = first + 3;
first = first + 2;
}
matr[n - 1][k] = first++;
for(i = k + 1; i < n; ++i)
for(int j = 0; j < n; ++j)
matr[j][i] = first++;
}
FILE *fout = fopen("tablete.out", "w");
for(int l = 0; l < n; ++l) {
for(int c = 0; c < n; ++c)
fprintf(fout, "%d ", matr[l][c]);
fprintf(fout, "\n");
}
fclose(fout);
return 0;
}