Pagini recente » Borderou de evaluare (job #3327303) | Borderou de evaluare (job #3309398) | Borderou de evaluare (job #3321912) | Borderou de evaluare (job #3321924) | Cod sursa (job #3337460)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("tablete.in");
ofstream fout("tablete.out");
int t[1002][1002];
int main()
{
int n, k;
fin >> n >> k;
int nr = 0, aux;
for (int i = 1; i <= n; i++)
for (int j = 1; j <= k; j++)
t[i][j] = ++nr;
for (int i = 1; i <= n; i++)
for (int j = k + 1; j <= n; j++)
t[i][j] = ++nr;
if (k & 1)
{
for (int i = 2; i <= n; i += 2)
{
aux = t[i][1];
t[i][1] = t[i - 1][k];
t[i - 1][k] = aux;
}
if (n % 2 == 1)
{
aux = t[n][k];
t[n][k] = t[1][k + 1];
t[1][k + 1] = aux;
}
}
for (int i = 1; i <= n; i++)
{
for (int j = 1; j <= n; j++)
fout << t[i][j] << " ";
fout << "\n";
}
return 0;
}