Cod sursa(job #327916)

Utilizator lama23Manea Laura Maria lama23 Data 30 iunie 2009 16:04:25
Problema Tablete Scor 50
Compilator cpp Status done
Runda Arhiva de probleme Marime 2.08 kb
#include<fstream.h>
long int n,k,i,aux,j,nr;
int main()
{
ifstream in("tablete.in");
ofstream out("tablete.out");
in>>n;
in>>k;
nr=1;
if(n%2==0) {if(k%2==0) for(i=1;i<=n;i=i+1)
		     {for(j=1;j<=n;j=j+1)
			 {out<<nr<<" ";
			  nr=nr+1;
			  }
		       out<<"\n";
		      }
	      else for(i=1;i<=n;i=i+1)
		   for(j=1;j<=n;j=j+1)
		   if(i%2==1) if(j==k) {aux=nr;
					out<<nr+1<<" ";
					nr=nr+2;

				       }
				  else if(j==n) out<<nr+n-1<<"\n";
						else {out<<nr<<" ";
						  nr=nr+1;
						 }
			 else if(j==1) out<<aux<<" ";
				   else {out<<nr<<" ";
					 nr=nr+1;
					 if(j==n) {out<<"\n";
						   nr=nr+1;
						   }

				   }
	     }

       else  if(k%2==0) for(i=1;i<=n;i=i+1)
			{for(j=1;j<=n;j=j+1)
			 if(i%2==1) {out<<nr<<" ";
				      nr=nr+1;
				      }
			      else {if(i%4==2) { if(j==k){aux=nr;
							 out<<nr+1<<" ";
							 nr=nr+2;
							 }
						   else {if(j==n) out<<nr+n+n-1;
							 else
							 {out<<nr<<" ";
							 nr=nr+1;
							 }
							 }

					      }
				     if(i%4==0) { if(j==1) out<<aux<<" ";
							   else {out<<nr<<" ";
								 nr=nr+1;
								 if(j==n) nr=nr+1;
								 }

						 }
				    }


			  out<<"\n";
			 }

         else for(i=1;i<=n;i=i+1)
		      {  for(j=1;j<=n;j=j+1)
			 {  if(i<n-1) {if(i%2==0) {out<<nr<<" ";
					       nr=nr+1;
					       }
					  else { if(i%4==1) { if(j==k){aux=nr;
								       out<<nr+1<<" ";
								       nr=nr+2;
								       }
						   else {if(j==n) out<<nr+n+n-1;
							 else
							 {out<<nr<<" ";
							 nr=nr+1;
							 }
							    }

							    }
						if(i%4==3) if(j==1) out<<aux<<" ";
							      else {out<<nr<<" ";
								    nr=nr+1;
								    if(j==n) nr=nr+1;
								    }

						}
				           }


			       if(i==n-1) { if(j==n) {out<<nr+n<<" ";

							   }
							   else {out<<nr<<" ";
								 nr=nr+1;
								 }

					       }

			       if(i==n){out<<nr<<" ";
					nr=nr+1;
					}

			      }

			   out<<"\n";




			 }




in.close();
out.close();
return 0;
}