Cod sursa(job #484643)

Utilizator Teodor94Teodor Plop Teodor94 Data 14 septembrie 2010 23:24:25
Problema Tablete Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.98 kb
#include<cstdio>

const int N=1002;

int n,k,a[N][N];
bool bifat[N*N];

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()
{
	freopen("tablete.in","r",stdin);
	freopen("tablete.out","w",stdout);
	scanf("%d%d",&n,&k);
	/*int primulpar=2,urm=1;
	for (int i=1;i<=n;++i)
	{
		for (int j=1;j<k;++j)
		{
			while (bifat[urm])
				urm++;
			a[i][j]=urm;
			bifat[urm]=true;
			urm++;
			if (urm>primulpar)
				primulpar+=2;
		}
		a[i][k]=primulpar;
		bifat[primulpar]=true;
		primulpar+=2;
	}
	for (int i=1;i<=n;++i)
	{
		int nr=k+1;
		for (int kk=a[i][k]+1;kk<=n*n;kk++)
			if (!bifat[kk])
			{
				a[i][nr]=kk;
				bifat[kk]=true;
				nr++;
				if (nr==n+1)
					break;
			}
	}*/
	if (k%2==0)
	{
		for (int i=1;i<=n;++i)
		{
			for (int j=1;j<=k;++j)
				a[i][j]=(i-1)*k+j;
			for (int j=k+1;j<=n;++j)
				a[i][j]=n*k+(i-1)*(n-k)+(j-k);
		}
	}
	afis();
	return 0;
}