Pagini recente » Rating Dinu Ana Maria (ANA888) | Cod sursa (job #1647637) | Cod sursa (job #2130336) | Clasamentul arhivei ACM | Cod sursa (job #673881)
Cod sursa(job #673881)
#include<fstream>
#define DIM 1001
using namespace std;
ifstream in("tablete.in");
ofstream out("tablete.out");
int A[DIM][DIM], N, K;
int main()
{
int i, j, contor;
in >> N >> K;
if( K%2 == 0 )
{
contor = 0;
for(i = 1; i <= N; i++)
for(j = 1; j <= K; j++)
A[i][j] = ++contor;
for(i = 1; i <= N; i++)
for(j = K+1; j <= N; j++)
A[i][j] = ++contor;
}
else if( K & 1 && N%2 == 0 )
{
contor = 0;
for(i = 1; i <= N; i++)
for(j = 1; j <= K; j++)
{
if( i & 1 && j == K )
A[i][j] = contor + 2;
else
if( i%2 == 0 && j == 2 )
{
contor += 2;
A[i][j] = contor;
}
else
A[i][j] = ++contor;
}
for(i = 1; i <= N; i++)
for(j = K+1; j <= N; j++)
A[i][j] = ++contor;
}
else
if( K & 1 && N & 1 )
{
contor = 0;
for(i = 1; i <= N; i++)
for(j = 1; j <= K; j++)
{
if( i & 1 && j == K )
A[i][j] = contor + 2;
else
if( i%2 == 0 && j == 2 )
{
contor += 2;
A[i][j] = contor;
}
else
A[i][j] = ++contor;
}
for(i = 1; i <= N; i++)
for(j = K+1; j <= N; j++)
{
if( i == 1 && j == K+1 )
{
contor -= 1;
A[i][j] == ++contor;
}
if( i == 1 && j == K+2 )
{
contor += 2;
A[i][j] = contor;
}
else
A[i][j] = ++contor;
}
}
for(i = 1; i <= N; i++)
{
for(j = 1; j <= N; j++)
out << A[i][j] << " ";
out << '\n';
}
}