Pagini recente » Cod sursa (job #1749881) | Cod sursa (job #2425603) | Cod sursa (job #1277362) | Monitorul de evaluare | Cod sursa (job #1884037)
#include <iostream>
#include <fstream>
#define NMAX 1000
using namespace std;
ifstream fin("tablete.in");
ofstream fout("tablete.out");
int a[1 + NMAX + 1][1 + NMAX + 1];
int main() {
int n,k,l,c,aux,v;
fin >> n >> k;
if (k & 1 == 0) {
for (l=1; l<=n; ++l)
for (c=1; c<=k; ++c)
a[l][c] = (l - 1) * k + c;
v = n * k + 1;
for (l=1; l<=n; ++l)
for (c=k+1; c<=n; ++c)
a[l][c] = v++;
} else {
for (l=1; l<=n; ++l)
for (c=1; c<=k; ++c)
a[l][c] = (l - 1) * k + c;
for (l=1; l<n; l+=2) {
aux = a[l][k];
a[l][k] = a[l + 1][1];
a[l + 1][1] = aux;
}
if (l == n) {
a[l][k] = n * k + 1;
v = n * k;
for (l=1; l<=n; ++l) {
for (c=k+1; c<=n; ++c) {
a[l][c] = v++;
if (v == n * k + 1)
v++;
}
}
} else {
v = n * k + 1;
for (l=1; l<=n; ++l)
for (c=k+1; c<=n; ++c)
a[l][c] = v++;
}
}
for (l=1; l<=n; ++l) {
for (c=1; c<=n; ++c)
fout << a[l][c] << ' ';
fout << '\n';
}
return 0;
}