Pagini recente » Cod sursa (job #960258) | Cod sursa (job #1435501) | Cod sursa (job #3163527) | Cod sursa (job #2962071) | Cod sursa (job #1172007)
#include <fstream>
using namespace std;
ifstream fin ("tablete.in");
ofstream fout ("tablete.out");
const int N = 1005;
int n, k, a[N][N], nr;
int main() {
fin >> n >> k;
for (int j = 1; j < k - 1; ++j)
for (int i = 1; i <= n; ++i)
a[i][j] = (j-1) * n + ((i % n == 0) ? n : (i % n));
for (int j = k + 1; j <= n; ++j)
for (int i = 1; i <= n; ++i)
a[i][j] = (j-1) * n + ((i % n == 0) ? n : (i % n));
int nr = n * (k - 2) + 1;
if (nr & 1)
for (int i = 1; i <= n; ++i)
a[i][k-1] = nr + (i - 1) * 2;
else {
nr++;
for (int i = 1; i <= n; ++i)
a[i][k-1] = nr + (i - 1) * 2;
}
nr = n * (k - 2) + 1;
if (nr & 1)
nr++;
if (n % 2 == 1)
nr += 2;
for (int i = 1; i <= n; ++i)
a[i][k] = (i - 1) * 2 + nr;
swap (a[2][k-1], a[1][k+1]);
a[2][k-1] = n * (k - 2) + ((k & 1) ? 1 : 2);
if (!(k & 1))
a[2][k+1]--;
for (int i = 1; i <= n; ++i) {
for (int j = 1; j <= n; ++j)
fout << a[i][j] << " ";
fout << "\n";
}
}