Cod sursa(job #231123)

Utilizator jeanFMI - Petcu Ion Cristian jean Data 14 decembrie 2008 11:35:11
Problema Tablete Scor 30
Compilator cpp Status done
Runda Algoritmiada 2009, Runda 1, Clasele 5-8 Marime 1.14 kb
#include<fstream.h>
int n,k,i,j,v[1000],m,a,b,t,x,p=0,s,d;

int main()
{

ifstream f("tablete.in");
ofstream g("tablete.out");

f>>n>>k;
m=n*n;

if(n%2==0)

 {
     if(k%2==0)  {
		   for(i=1;i<=m;i++)

		    { g<<i<<" ";
		      if(i%n==0) g<<'\n';
		    }
		 }

    else

      { x=k+1;

	for(i=1;i<=n;i+=2)

	  {v[++p]=x;
	   x=x+n-2;
	   v[++p]=x;
	   x=x+n+2;}

	s=k-1; d=n-k;  j=1;


	for(a=1;a<=s;a++) g<<a<<" ";

	 g<<v[j]<<" ";

	for(i=1,b=v[j]+1;i<d;i++,b++) g<<b<<" ";

	 g<<m<<'\n';


	for(;a<v[j];a++) g<<a<<" ";

	a=b;  j++;

	for(i=2;i<=s;i++,a++) g<<a<<" ";

	 g<<v[j]<<" ";

	for(i=1,b=v[j]+1;i<=d;i++,b++) g<<b<<" ";

	 g<<'\n';

	a=b;

	for(t=3;t<=n;t+=2)

	 { j++;

	  for(i=1;i<=s;i++,a++)
	    g<<a<<" ";

	   g<<v[j]<<" ";

	   for(i=1,b=v[j]+1;i<=d;i++,b++)
	    g<<b<<" ";

	   g<<'\n';

	  for(i=1;a<v[j];a++,i++) g<<a<<" ";
	  for(;i<=s;i++,b++) g<<b<<" ";

	   j++;
	   g<<v[j]<<" ";
	  for(i=1,b=v[j]+1;i<=d;i++,b++) g<<b<<" ";
	   g<<'\n';
	    a=b;
	  }
     }
  }


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