Pagini recente » Cod sursa (job #2477104) | Cod sursa (job #1636270) | Cod sursa (job #711516) | Cod sursa (job #2660050) | Cod sursa (job #230985)
Cod sursa(job #230985)
#include <stdio.h>
#include <string.h>
int frecv[1000000],nr,A[1000][1000],i,j,N,K,par[1000],p;
int main()
{
freopen("tablete.in","r",stdin);
scanf("%d %d", &N,&K);
memset(frecv,0,sizeof(frecv));
nr=0;
for (i=2;i<=1<<N;++i)
if (i%2==0)
{
nr++;
par[nr]=i;
}
if (K==2) p=1;
else
if (K%2==0 && K!=2) p=K+1;
else p=K;
for (i=1;i<=N;++i)
{
A[i][K]=par[p];
frecv[par[p]]=1;
p++;
}
p=2*p-1;
for (i=K+1;i<=N;++i)
for (j=1;j<=N;++j)
{
A[j][i]=p;
frecv[p]=1;
p++;
}
nr=1;
for (i=1;i<=N;++i)
for (j=1;j<K;++j)
{
if (frecv[nr]==0)
{
A[i][j]=nr;
frecv[nr]=1;
}
else
{
while (frecv[nr]==1)
nr++;
A[i][j]=nr;
frecv[nr]=1;
//nr--;
}
nr++;
}
freopen("tablete.out","w",stdout);
for (i=1;i<=N;++i)
{
for (j=1;j<=N;++j)
{
printf("%d ", A[i][j]);
}
printf("\n");
}
return 0;
}