Cod sursa(job #231918)

Utilizator Ionutz_LalaLala Marius Ionut Ionutz_Lala Data 14 decembrie 2008 15:21:42
Problema Tablete Scor 60
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.11 kb
#include<fstream.h>
long int n,k,i,j,nr,q,lin;
int main()
{
 ifstream in("tablete.in");
 ofstream out("tablete.out");
 in>>n>>k;
 if(!(n%2)&&!(k%2))
 {
   for(i=1;i<=n;i++)
   {
     for(j=1;j<=n;j++)
       out<<++nr<<' ';
     out<<'\n';
   }
   return 0;
 }
 if(!(n%2)&&k%2)
 {
   q=n*n;
   for(i=2;i<=n;i++) out<<i<<' ';
   out<<q-1<<'\n';
   nr=n+2;
   lin=2;
   i=0;
   while(lin<n)
   {
     out<<nr++<<' ';
     i++;
     if(!(i%n)) {out<<'\n';lin++;}
   }
   out<<1<<' '<<n+3<<' ';
   for(;nr<q-1;nr++)
     out<<nr<<' ';
   out<<q;
   return 0;
 }
 if(n%2&&!(k%2))
 {
   q=n*n;
   nr=1;
   i=0;
   while(nr<q)
   {
     if(!(nr%(n+1))) nr++;
     if(nr!=q) out<<nr<<' ';
     i++;
     nr++;
     if(!(i%n)) out<<'\n';
   }
   for(i=1;i*n<q;i++)
     out<<i*(n+1)<<' ';
   out<<q;
   return 0;
 }
 if(n%2&&k%2)
 {
   q=n*n;
   nr=2;
   i=0;
   while(nr<q)
   {
     if(!(nr%(n+1))) nr++;
     out<<nr<<' ';
     i++;
     nr++;
     if(!(i%n)) out<<'\n';
   }
   out<<1<<' ';
   for(i=1;i*n<q;i++)
     out<<i*(n+1)<<' ';
   return 0;
 }
 return 0;
}