Pagini recente » Cod sursa (job #2512833) | Cod sursa (job #746271) | Cod sursa (job #2154848) | Cod sursa (job #2121644) | Cod sursa (job #783349)
Cod sursa(job #783349)
#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);
int N2 = N * N;
int column = 1;
if( N == 3)
{
fout << "1 2 7\n3 4 8\n5 6 9\n";
}
else if((N & 1) == 0 && (K & 1) == 0)
{
for(int i = 1 ; i <= N2; i++)
{
fout << i << " ";
column++;
if(column == N + 1)
{
column = 1;
fout << "\n";
}
}
}
else if( (N & 1) == 0)
{
for(int i = 1 ; i <= N; i++)
{
for(int j = 1; j <= N; j++)
{
if(j == K - 1 && (i % 2) == 0)
{
fout << (i - 1) + N * j;
}
else if( j == K && i % 2 == 1)
{
fout << (i + 1) + N * (j - 2);
}
else
{
fout << i + N * (j - 1);
}
fout << " ";
}
fout << "\n";
}
}
else if((K & 1) == 0)
{
for(int i = 1 ; i <= N; i++)
{
for(int j = 1; j <= N; j++)
{
if( i == 2 && j == K + 1)
{
fout << N - 1 + N * (j - 2);
}
else if(j == K - 1 && i >= 4 && i % 2 == 0)
{
fout << (i - 2) + N * j ;
}
else if(j == K && i % 2 == 0 )
{
if( i < N - 1)
{
fout << (i + 2) + N * (j - 2);
}
else
{
fout << 2 + N * j;
}
}
else
{
fout << i + N * (j - 1);
}
fout << " ";
}
fout << "\n";
}
}
else
{
for(int i = 1 ; i <= N; i++)
{
for(int j = 1; j <= N; j++)
{
if( i == 1 && j == K + 1)
{
fout << N + N * (j - 2);
}
else if(j == K - 1 && i >= 3 && i % 2 == 1)
{
fout << (i - 2) + N * j ;
}
else if(j == K && i % 2 == 1 )
{
if( i < N - 1)
{
fout << (i + 2) + N * (j - 2);
}
else
{
fout << 1 + N * j;
}
}
else
{
fout << i + N * (j - 1);
}
fout << " ";
}
fout << "\n";
}
}
fout.close();
}