Pagini recente » Cod sursa (job #1904241) | Cod sursa (job #1890212) | Cod sursa (job #1891868)
#include <cstdio>
using namespace std;
struct me
{
int x;
int y;
int m;
};
me mem;
int a[1001][1001];
int main()
{
freopen("tablete.in","r",stdin);
freopen("tablete.out","w",stdout);
int n,k,i,j,ok=0,q;
scanf("%d%d",&n,&k);
for(i=1,j=1; i<=n*k; j++,i++)
{
if(i%2==0&&mem.m==1)
a[mem.x][mem.y]=i,i++,mem.m=0;
if(i%2==1&&j%k==0)
mem.x=j/k,mem.y=k,mem.m=1,j++;
if(j%k!=0)
a[j/k+1][j%k]=i;
else a[j/k][k]=i;
}
if(mem.m)
a[n][k]=n*k+1,a[1][k+1]=n*k,ok=1;
if(ok==1)
{
j=n*k+2;
for(i=1; i<=n; i++)
{
for(q=k+1; q<=n; q++)
if(i!=1||q!=k+1)
a[i][q]=j,j++;
}
}
else
{
j=n*k+1;
for(i=1; i<=n; i++)
{
for(q=k+1; q<=n; q++)
a[i][q]=j,j++;
}
}
for(i=1; i<=n; i++)
{
for(j=1; j<=n; j++)
printf("%d ",a[i][j]);
printf("\n");
}
return 0;
}