Cod sursa(job #984814)

Utilizator robertstrecheStreche Robert robertstreche Data 15 august 2013 15:34:38
Problema Tablete Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 2.86 kb
#include <fstream>

using namespace std;
ifstream f("tablete.in");
ofstream g("tablete.out");
int a[1001][1001],n,m,i,j,r,nr,nrr;
int main()
{
    f>>n>>m;
     if (n%2==0 && m%2==0)
       {
           for (i=1;i<=n;i++)
             {
                 for(j=1;j<=n;j++)
                   {
                     nr++;
                     g<<nr<<" ";
                   }
                 g<<'\n';
               }


       }
       if (n%2 && m%2==0)
        {
            nr=1;

            for (i=1;i<=n-2;i+=2)
             for (j=1;j<=n;j++)
              {
                  a[j][i]=nr;
                  nr+=2;
              }
              nrr=nr;
              nr=2;
           for (i=2;i<=n-1;i+=2)
             for (j=1;j<=n;j++)
              {
                  a[j][i]=nr;
                  nr+=2;
              }
            for (i=1;i<=n;i++)
             {
                 a[i][n]=nrr;
                 nrr++;
             }
             for (i=1;i<=n;i++)
              {for (j=1;j<=n;j++)
               g<<a[i][j]<<" ";
               g<<'\n';}
        }
        if (n%2 && m%2)
         {
             nr=2;
             r=1;
             g<<nr<<" ";
             nr++;
             for (i=1;i<=n;i++)
              {
                  for (j=2;j<=n;j++)
                   {
                       if (i!=n-1 || j!=n)
                      {
                          g<<nr<<" ";
                          nr++;
                      }
                       else
                        {
                            g<<n*n;
                            r=nr;
                            nr++;
                        }


                   }
                   g<<'\n';
                   if (i!=n)
                   {
                   if (r)
                    {
                        g<<r<<" ";
                        r=0;
                    }
                    else
                    {g<<nr<<" ";
                      nr++;
                    }
                    if (i%2==0 && i!=n-1)
                    {
                     r=nr;
                     nr++;
                     }
                   }

              }
         }
        if (n%2==0 && m%2)
         {
             nr=2;
             for (i=1;i<=n-1;i++)
              {
                for (j=1;j<=n;j++)
                  {
                    if (i!=n-1 || j!=n)
                     {
                       g<<nr<<" ";
                       nr++;
                     }
                    else
                     g<<n*n;
                   }
                   g<<'\n';
              }
               g<<"1 ";
               for (i=2;i<=n;i++)
                {
                    g<<nr<<" ";
                    nr++;
                }
         }
    f.close();
    g.close();
}