Cod sursa(job #231487)

Utilizator lucaz0rLuca Liviu lucaz0r Data 14 decembrie 2008 12:30:09
Problema Tablete Scor 0
Compilator cpp Status done
Runda Algoritmiada 2009, Runda 1, Clasele 5-8 Marime 1.42 kb
#include <fstream.h>
int main()
{
ifstream f("tablete.in");
fstream g("tablete.out",ios::out);
int n,m,i,j,k;
f>>n>>k;
if ((n % 2 == 0) & (k%2==0))
  { long v=1;
    for (i=1;i<=n;i++)
	{  for (j=1;j<=n;j++) { g<<v<<" ";
				v++;}
	   g<<endl; }}
  else
     if ((n % 2 ==0 ) & (k%2==1))

    {  for (i=1;i<=n;i++)
	{ for (j=1;j<=n;j++)
	    if ((i % 2 == 1) & (j==k))  g<< (i+1)+(j-1-1)*n<<" ";

		else
		  if ((i % 2 == 0 ) & (j==k-1))  g<< (i-1)+j*n<<" " ;

			 else g<<i+(j-1)*n<<" ";
	  g<<endl; }}

      else
    if ((n%2 ==1) & (k%2==1))

       {	for (i=1;i<=n;i++)
	  { for (j=1;j<=n;j++)
	      if ((i==n) & (j==k)) g<< 1+k*n << " ";
		else
	   if ((i==1) & (j==k+1)) g<< n+(k-1)*n<<" ";
	    else

	  if ((i%2==0) & (j==k)) g<< (i+1)+(j-1-1)*n<<" ";
	    else

	 if  ((i%2==1) & (j==k-1) & (i!=1)) g<< (i-2)+(k-1)*n<<" ";
	   else


	if ((i%2==1) & (j==k)) g<< (i+1)+(k-1)*n<<" ";
	  else g<<i+(j-1)*n<<" ";
	     g<<endl;} }

      else    	for (i=1;i<=n;i++)
	  { for (j=1;j<=n;j++)
	      if ((i==n) & (j==k)) g<< 2+k*n << " ";
		else
	   if ((i==2) & (j==k+1)) g<< n-1+(k-1)*n<<" ";
	    else

	  if ((i%2==0) & (j==k)) g<< (i+1)+(j-1)*n<<" ";
	    else

	 if  ((i%2==0) & (j==k-1) & (i!=2)) g<< (i-2)+(k-1)*n<<" ";
	   else


	if ((i%2==1) & (j==k) & (i!=1)) g<< (i+1)+(k-1-1)*n<<" ";
	  else g<<i+(j-1)*n<<" ";
	     g<<endl;}


 f.close();
 g.close();
 return 0;
 }