Pagini recente » Cod sursa (job #2077291) | Cod sursa (job #1628521) | Cod sursa (job #2091884) | Cod sursa (job #620328) | Cod sursa (job #1884004)
#include <iostream>
#include <fstream>
#define NMAX 1000
using namespace std;
ifstream fin("tablete.in");
ofstream fout("tablete.out");
bool f[1 + NMAX * NMAX];
int a[1 + NMAX][1 + NMAX];
int main() {
int n,k,l,c,b,i,v,last;
fin >> n >> k;
for (i=1; i<=n; ++i) {
b = (i - 1) * n + k;
if (b & 1 == 1)
b++;
a[i][k] = b;
f[b] = true;
}
v = 1;
for (l=1; l<=n; ++l) {
for (c=1; c<=n; ++c) {
if (!a[l][c]) {
a[l][c] = v++;
while (f[v] == true)
v++;
} else {
last = v;
v = a[l][c] + 1;
f[v] = true;
++c;
while (c <= n) {
a[l][c++] = v++;
while (f[v] == true)
v++;
f[v] = true;
}
v = last + 1;
while (f[v] == true)
v++;
}
}
}
for (l=1; l<=n; ++l) {
for (c=1; c<=n; ++c)
fout << a[l][c] << ' ';
fout << '\n';
}
return 0;
}