Pagini recente » Cod sursa (job #1799592) | Cod sursa (job #3290392) | Cod sursa (job #3242674) | Cod sursa (job #2263374) | Cod sursa (job #231658)
Cod sursa(job #231658)
#include <cstdio>
#define NMAX 1024
#define LMAX 1000002
#define INF "tablete.in"
#define OUF "tablete.out"
using namespace std;
int a[NMAX][NMAX]={0};
char used[LMAX]={0};
int main()
{
int n,k,i,j,c;
FILE *in,*out;
in=fopen(INF,"r");
out=fopen(OUF,"w");
fscanf(in,"%d%d",&n,&k);
for(c=1,i=1;i<=n;++c)
if((c%2==0)&&((c-i)>=i*(k-1)))
{
a[i][k]=c;
used[c]=1;
++i;
}
for(c=1,i=1;i<=n;++i)
for(j=1;j<k;++j)
if(!used[c])
{
a[i][j]=c;
used[c++]=1;
}
else
{
while(used[c]) ++c;
a[i][j]=c;
used[c++]=1;
}
for(c=1,i=1;i<=n;++i)
for(j=k+1;j<=n;++j)
if(!used[c])
{
a[i][j]=c;
used[c++]=1;
}
else
{
while(used[c]) ++c;
a[i][j]=c;
used[c++]=1;
}
for(i=1;i<=n;++i,fprintf(out,"\n"))
for(j=1;j<=n;++j) fprintf(out,"%d ",a[i][j]);
fclose(in);fclose(out);
return 0;
}