Pagini recente » Cod sursa (job #837863) | Cod sursa (job #1170963) | Cod sursa (job #158786) | Cod sursa (job #1463936) | Cod sursa (job #705789)
Cod sursa(job #705789)
#include <cstdio>
#include <bitset>
#define NMax 1005
using namespace std;
int N, K, M[NMax][NMax];
bitset <NMax*NMax> Used;
void Solve ()
{
for (int i=1; i<=N; ++i)
{
M[i][K]=i*K;
if (M[i][K]&1) ++M[i][K];
Used[M[i][K]]=1;
}
int X=1;
for (int i=1; i<=N; ++i)
{
for (int j=1; j<K; ++j)
{
for (; Used[X]; ++X);
M[i][j]=X++;
}
}
for (int i=1; i<=N; ++i)
{
for (int j=K+1; j<=N; ++j)
{
for (; Used[X]; ++X);
M[i][j]=X++;
}
}
}
void Read ()
{
freopen ("tablete.in", "r", stdin);
scanf ("%d %d", &N, &K);
}
void Print ()
{
freopen ("tablete.out", "w", stdout);
for (int i=1; i<=N; ++i)
{
for (int j=1; j<=N; ++j)
{
printf ("%d ", M[i][j]);
}
printf ("\n");
}
}
int main ()
{
Read ();
Solve ();
Print ();
return 0;
}