Cod sursa(job #233783)

Utilizator zlatebogdanZlate Bogdan zlatebogdan Data 19 decembrie 2008 11:21:50
Problema Tablete Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.63 kb
#include<stdio.h>
int n,k,a[1005][1005];

int main()
{
	int x=0,i,j,aux=0,r=0;
	freopen("tablete.in","r",stdin);
	freopen("tablete.out","w",stdout);
	scanf("%d%d",&n,&k);
	for (i=1;i<n;++i)
	{
		if (r)
		{
			a[i][1]=r;
			r=0;
		}
		else
			a[i][1]=++x;
		for (j=2;j<=n;++j)
		{
			if (j==k&&(x+1)%2)
				r=++x;
			a[i][j]=++x;
		}
	}
	if (r)
		a[n][1]=r;
	else
		a[n][1]=++i;
	for (j=2;j<=n;++j)
		a[n][j]=++x;
	if (a[n][k]%2)
	{
		aux=a[n][k];
		for (j=k;j>1;--j)
			a[n][j]=a[n][j-1];
		a[n][1]=a[n-1][n];
		a[n-1][n]=aux;
	}
	
	for (i=1;i<=n;++i)
	{
		for (j=1;j<=n;++j)
			printf("%d ",a[i][j]);
		printf("\n");
	}
	
	return 0;
}