Pagini recente » Cod sursa (job #1345990) | Cod sursa (job #882247) | Cod sursa (job #30966) | Cod sursa (job #1936762) | Cod sursa (job #1692972)
#include <iostream>
#include <cstdio>
using namespace std;
#define dmax 1005
int d[dmax][dmax];
int N, K;
int main()
{
freopen("tablete.in", "r", stdin);
freopen("tablete.out", "w", stdout);
int i, j;
scanf("%d %d", &N, &K);
if(K%2 == 0)
{
for(i = 1; i <= N; i++) d[i][K] = i * K;
for(i = 1; i <= N; i++)
{
d[i][0] = d[i - 1][K];
for(j = 1; j <= K - 1; j++) d[i][j] = d[i][j - 1] + 1;
}
int nr = N * K;
for(i = 1; i <= N; i++)
for(j = K + 1; j <= N; j++) d[i][j] = ++nr;
}
else
{
for(i = 1; i <= N; i++)
if(i%2 == 1) d[i][K] = i * K + 1;
else
d[i][K] = i * K;
/* COMPLETEZ COLOANA 1 */
for(i = 1; i <= N; i++)
{
if(i%2 == 0) d[i][1] = d[i - 1][K] - 1;
else
d[i][1] = d[i - 1][K] + 1;
}
for(i = 1; i <= N; i++)
for(j = 2; j <= K - 1; j++)
{
if(i%2 == 1) d[i][j] = d[i][j - 1] + 1;
else
{
if(j == 2) d[i][2] = 2 + d[i][1];
else
d[i][j] = d[i][j - 1] + 1;
}
}
int nr = N * K;
for(i = 1; i <= N; i++)
for(j = K + 1; j <= N; j++) d[i][j] = ++nr;
}
for(i = 1; i <= N; i++)
{
for(j = 1; j <= N; j++) printf("%d ", d[i][j]);
printf("\n");
}
return 0;
}