Pagini recente » Cod sursa (job #3337199) | Cod sursa (job #3337356) | Cod sursa (job #3310463) | Cod sursa (job #3353568) | Cod sursa (job #3335841)
#include <iostream>
#include <fstream>
#include <algorithm>
using namespace std;
ifstream in("tablete.in");
ofstream out("tablete.out");
int main()
{
int n;
in >> n;
int k;
in >> k;
int nrCrt = 1;
int mat[n][n];
for(int y = 0; y < n; y++)
{
for(int x = 0; x < k; x++)
{
mat[x][y] = nrCrt;
nrCrt++;
}
}
for(int y = 0; y < n; y++)
{
for(int x = k; x < n; x++)
{
mat[x][y] = nrCrt;
nrCrt++;
}
}
if(k % 2 == 1)
{
int pn = n % 2 == 0 ? n : n - 1;
for(int y = 0; y < pn; y++)
{
if(mat[k - 1][y] % 2 == 0)
continue;
int tmp = mat[0][y + 1];
mat[0][y + 1] = mat[k - 1][y];
mat[k - 1][y] = tmp;
}
if(n % 2 == 1)
{
int tmp = mat[k][0];
mat[k][0] = mat[k - 1][n - 1];
mat[k - 1][n - 1] = tmp;
}
}
for(int y = 0; y < n; y++)
{
for(int x = 0; x < n; x++)
out << mat[x][y] << " ";
out << "\n";
}
return 0;
}