Pagini recente » Cod sursa (job #351178) | Cod sursa (job #496167) | Cod sursa (job #1966606) | Cod sursa (job #2256310) | Cod sursa (job #2524606)
#include <fstream>
using namespace std;
ifstream f("tablete.in");
ofstream g("tablete.out");
const int NMAX = 1005;
int n, k, mat[NMAX][NMAX];
void afisaremat() {
int i, j;
for (i = 1; i <= n; i++) {
for (j = 1; j <= n; j++)
g << mat[i][j] << " ";
g << "\n";
}
}
int main() {
int i, j, value;
f >> n >> k;
value = 1;
int modn = n % 2, modk = k % 2, inext;
if (modk == 0 && modn == 0) {
for (i = 1; i <= n; i++)
for (j = 1; j <= n; j++) {
mat[i][j] = value;
value++;
}
afisaremat();
return 0;
}
if (modk == 1 && modn == 0) {
for (i = 1; i <= n; i += 2) {
inext = i + 1;
mat[inext][1] = value;
value++;
for (j = 1; j < n; j++) {
mat[i][j] = value;
value++;
}
for (j = 2; j <= n; j++) {
mat[inext][j] = value;
value++;
}
mat[i][n] = value;
value++;
}
afisaremat();
return 0;
}
if (modk == 0 && modn == 1) {
for (i = 1; i < n; i += 2) {
inext = i + 1;
for (j = 1; j < n; j++) {
mat[i][j] = value;
value++;
}
for (j = 1; j <= n; j++) {
mat[inext][j] = value;
value++;
}
mat[i][n] = value;
value++;
}
for (j = 1; j <= n; j++) {
mat[n][j] = value;
value++;
}
afisaremat();
return 0;
}
for (i = 1; i < n; i += 2) {
inext = i + 1;
mat[inext][1] = value;
value++;
for (j = 1; j <= n; j++) {
mat[i][j] = value;
value++;
}
for (j = 2; j <= n; j++) {
mat[inext][j] = value;
value++;
}
}
value--;
mat[n - 1][n] = n * n;
for (j = 1; j <= n; j++) {
mat[n][j] = value;
value++;
}
afisaremat();
return 0;
}