Pagini recente » Cod sursa (job #1963740) | Istoria paginii runda/simulare_miri | Profil valentino | Rating dada da (dadadada) | Cod sursa (job #231674)
Cod sursa(job #231674)
#include <stdio.h>
#define MAXN 1001
int N,K;
int tablete[MAXN][MAXN];
void read()
{
scanf("%d %d",&N,&K);
}
void solve()
{
int num = 0;
if (K % 2 == 0)
{
for(int col = 1;col+1 <= N; col+=2)
for(int lin=1; lin <= N;lin++)
{
tablete[lin-1][col-1] = ++num;
tablete[lin-1][col-1 + 1] = ++num;
}
if (N % 2 == 1)
for(int lin=1; lin <=N;lin++)
tablete[lin-1][N-1] = ++num;
}
if (K%2 == 1)
{
int parMin = 2;
int imparMin = 1;
for(int lin=1;lin <= N; ++lin)
for(int col = 1;col <=K;col++)
{
if (col < K)
{
if (parMin < imparMin)
{
tablete[lin-1][col-1] = parMin;
parMin +=2;
}
else
{
tablete[lin-1][col-1] = imparMin;
imparMin +=2;
}
}
else
{
tablete[lin-1][col-1] = parMin;
parMin +=2;
}
}
for(int lin=1;lin <= N; ++lin)
for(int col = K+1;col <=N;col++)
{
if (parMin < imparMin)
{
tablete[lin-1][col-1] = parMin;
parMin +=2;
}
else
{
tablete[lin-1][col-1] = imparMin;
imparMin +=2;
}
}
}
}
void print()
{
for(int i=0;i<N;i++)
{
for(int j=0;j<N;j++)
printf("%d ",tablete[i][j]);
printf("\n");
}
}
int main()
{
freopen("tablete.in","r",stdin);
freopen("tablete.out","w",stdout);
read();
solve();
print();
return 0;
}