Pagini recente » Cod sursa (job #362314) | Cod sursa (job #2012518) | Cod sursa (job #19949) | Cod sursa (job #1304946) | Cod sursa (job #348725)
Cod sursa(job #348725)
#include<cstdio>
#define M 1001
short int n,m;
int a[M][M];
void citire()
{
freopen("tablete.in","r",stdin);
freopen("tablete.out","w",stdout);
scanf("%hd%hd",&n,&m);
}
void matrice1()
{
int num=1;
for (int i=1; i<=n; ++i)
for (int j=1; j<=m; ++j)
{
a[i][j]=num;
++num;
}
for (int i=1;i<=n; ++i)
for (int j=m+1; j<=n; ++j)
{
a[i][j]=num;
++num;
}
}
void matrice()
{
int num=1,j;
for (int i=1; i<=n; ++i)
{
if (i&1)
{
j=1;
num=a[i-1][m]+1;
}
else
{
a[i][1]=a[i-1][m-1]+1;
a[i][2]=a[i][1]+2;
num=a[i][2]+1;
j=3;
}
for (;j<m; ++j)
{
a[i][j]=num;
++num;
}
if (i&1)
a[i][m]=a[i][m-1]+2;
else
a[i][m]=a[i][m-1]+1;
}
if ((n*m)&1)
a[1][m+1]=a[n][m]-1;
num=a[n][m]+1;
for (int i=1;i<=n; ++i)
for (int j=m+1; j<=n; ++j)
if (!a[i][j])
{
a[i][j]=num;
++num;
}
}
void afis()
{
for(int i=1; i<=n; ++i)
{
for (int j=1; j<=n; ++j)
printf("%d ",a[i][j]);
printf("\n");
}
}
int main()
{
citire();
if (m&1)
matrice();
else
matrice1();
afis();
return 0;
}