Mai intai trebuie sa te autentifici.

Cod sursa(job #328051)

Utilizator lama23Manea Laura Maria lama23 Data 30 iunie 2009 20:58:06
Problema Tablete Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 3.61 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)&&(n%4==1)) 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   if((k%2==0)&&(n%4==3))                 for(i=1;i<=n;i=i+1)
		      {  for(j=1;j<=n;j=j+1)
			 {  if(i<n-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;
								    }

						}
					   }


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

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

					       }

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

			      }

			   out<<"\n";




			 }
 else if((k%2==1)&&(n%4==3))
		     for(i=1;i<=n;i=i+1)
			{for(j=1;j<=n;j=j+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;
								 }

						 }
				    }


			  out<<"\n";
			 }
else if((k%2==1)&&(n%4==1))
		  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;
}