Pagini recente » Cod sursa (job #3317388) | Cod sursa (job #3355075) | Cod sursa (job #3345195) | Monitorul de evaluare | Cod sursa (job #3330736)
#include <fstream>
using namespace std;
ifstream cin("tablete.in");
ofstream cout("tablete.out");
int main()
{
int n,k,i,j,nr_fata,nr_spate,nr_mijloc;
cin >> n >> k;
if (n % 2 == 0 && k % 2 == 0)
{
for (i = 1 ; i <= n ; i++)
{
for (j = 1 ; j <= n ; j++)
{
cout << (i - 1) * n + j << " ";
}
cout << '\n';
}
}
if (n % 2 == 0 && k % 2 == 1)
{
nr_fata = 1;
nr_spate = n * n;
for (i = 1 ; i < n ; i++)
{
j = 1;
if (i % 2 == 0)
{
j = 2;
cout << nr_fata - 1 << " ";
nr_fata++;
}
while (j < k)
{
nr_fata++;
cout << nr_fata - 1 << " ";
j++;
}
if (i % 2 == 1) cout << nr_fata + 1 << " ";
else cout << nr_fata << " ";
nr_fata++;
j++;
nr_spate -= n - k;
while (j <= n)
{
cout << nr_spate << " ";
nr_spate++;
j++;
}
nr_spate -= n - k - 1;
nr_spate -= 2;
cout << '\n';
}
nr_fata--;
cout << nr_fata << " ";
nr_spate += n - k + 1;
while (nr_spate <= n * n)
{
cout << nr_spate << " ";
nr_spate += n - k + 1;
}
}
if (n % 2 == 1 && k % 2 == 1)
{
nr_fata = 1;
nr_spate = n * n + 1;
nr_mijloc = k * (n - 1) + 3;
j = 1;
while (j < k)
{
nr_fata++;
cout << nr_fata - 1 << " ";
j++;
}
cout << nr_fata + 1 << " ";
nr_fata++;
j++;
nr_spate -= n - k - 1;
cout << nr_mijloc << " ";
nr_mijloc += 2;
j++;
while (j <= n)
{
cout << nr_spate << " ";
nr_spate++;
j++;
}
nr_spate -= n - k - 1;
nr_spate--;
cout << '\n';
for (i = 2 ; i < n ; i++)
{
j = 1;
if (i % 2 == 0)
{
j = 2;
cout << nr_fata - 1 << " ";
nr_fata++;
}
while (j < k)
{
nr_fata++;
cout << nr_fata - 1 << " ";
j++;
}
if (i % 2 == 1) cout << nr_fata + 1 << " ";
else cout << nr_fata << " ";
nr_fata++;
j++;
nr_spate -= n - k - 2;
cout << nr_mijloc << " ";
j++;
nr_mijloc += 2;
while (j <= n)
{
cout << nr_spate << " ";
nr_spate++;
j++;
}
nr_spate -= n - k - 1;
nr_spate--;
cout << '\n';
}
cout << nr_fata << " ";
nr_fata++;
while (nr_fata <= nr_mijloc - 2)
{
cout << nr_fata << " ";
nr_fata += 2;
}
}
return 0;
}