Pagini recente » Cod sursa (job #580589) | Cod sursa (job #540656) | Cod sursa (job #31321) | Cod sursa (job #1619379) | Cod sursa (job #783262)
Cod sursa(job #783262)
#include <iostream>
#include <fstream>
using namespace std;
const char infile[] = "tablete.in";
const char outfile[] = "tablete.out";
int main(int argc, char* argv[])
{
int N, K;
fstream fin(infile, ios::in);
fin >> N >> K;
fin.close();
fstream fout(outfile, ios::out);
if(N & 1 == 0 && K & 1 == 0)
{
for(int i = 1 ; i <= N * N; i++)
{
fout << i << " ";
if(i % N == 0)
{
fout << "\n";
}
}
}
else
{
bool swap = false;
bool swap2 = false;
int current = 1;
for(int i = 1 ; i <= N * N; i++)
{
int moduloN = i % N;
if((moduloN == 1) && (swap == true))
{
fout << (i - 1) - N + K << " ";
swap = false;
continue;
}
if( swap2 == true )
{
if ( moduloN == 0)
{
fout << N * N << " \n";
continue;
}
else if(moduloN <= K)
{
fout << i - 1 << " ";
continue;
}
else
{
fout << i << " ";
continue;
}
}
if(i == (N-1) * N && (i + K) & 1)
{
fout << i + K << " \n";
swap2 = true;
continue;
}
else if( i % N == K && i & 1)
{
current ++;
swap = true;
}
fout << current++ << " ";
if(moduloN == 0)
{
fout << "\n";
}
}
}
fout.close();
}