Cod sursa(job #233003)

Utilizator RobytzzaIonescu Robert Marius Robytzza Data 16 decembrie 2008 18:31:00
Problema Tablete Scor 50
Compilator cpp Status done
Runda Arhiva de probleme Marime 7.6 kb
/*#include <stdio.h>

using namespace std;

int main ()
{
     int p1,nr=1,n,poz;
     freopen ("tablete.in","r",stdin);
     freopen ("tablete.out","w",stdout);
     scanf ("%d %d",&n,&poz);
     if (n%2==0 && poz%2==0)
     {
          for (int i=1;i<=n;i++)
          {
               for (int j=1;j<=n;j++)
                    printf("%d ",nr++);
               printf("\n");
          }
     }
     else
          if (n%2==0 && poz%2==1)
          {
               p1=poz;
               for (int i=1;i<p1;i++)
                    printf("%d ",i);

               printf("%d ",p1+1);
               for (int i=p1+2;i<=n;i++)
                    printf("%d ",i);
               printf("%d\n",n*n);

               printf("%d ",p1);
               nr=n+1;
               for (int i=2;i<=n;i++)
                    printf("%d ",nr++);
               printf("\n");

               for (int i=3;i<=n;i++)
               {
                    for (int j=1;j<=n;j++)
                         printf("%d ",nr++);
               printf("\n");
               }
          }
          else
          {
               p1=-1;
               for (int i=1;i<poz;i++)
                    printf("%d ",i);
               if (poz%2==0)
               {
                    for (int i=poz;i<=n;i++)
                         printf("%d ",i);
                    nr=n+1;
                    printf("\n");
               }
               else
               {
                    p1=poz;
                    for (int i=poz+1;i<=n+1;i++)
                         printf("%d ",i);
                    printf("\n");
                    nr=n+2;
               }
                    for (int i=2;i<=n;i++)
                    {
                         if (p1!=-1)
                         {
                                  printf("%d ",p1);
                              p1=-1;
                         for (int j=2;j<=n;j++)
                              printf("%d ",nr++);
                         }
                         else
                         {
                              for (int j=1;j<poz;j++)
                                   printf("%d ",nr++);
                              p1=nr;
                              printf("%d ",nr+1);
                              nr+=2;
                              for (int j=poz+1;j<=n;j++)
                                   printf("%d ",nr++);
                         }
                         printf("\n");
                    }

          }
     return 0;
}*/

/*#include <stdio.h>

using namespace std;

int main ()
{
     int p1,nr=1,n,poz;
     freopen ("tablete.in","r",stdin);
     freopen ("tablete.out","w",stdout);
     scanf ("%d %d",&n,&poz);
     if (n%2==0 && poz%2==0)
     {
          for (int i=1;i<=n;i++)
          {
               for (int j=1;j<=n;j++)
                    printf("%d ",nr++);
               printf("\n");
          }
     }
     else
          if (n%2==0 && poz%2==1)
          {
               p1=poz;
               for (int i=1;i<p1;i++)
                    printf("%d ",i);

               printf("%d ",p1+1);
               for (int i=p1+2;i<=n;i++)
                    printf("%d ",i);
               printf("%d\n",n*n);

               printf("%d ",p1);
               nr=n+1;
               for (int i=2;i<=n;i++)
                    printf("%d ",nr++);
               printf("\n");

               for (int i=3;i<=n;i++)
               {
                    for (int j=1;j<=n;j++)
                         printf("%d ",nr++);
               printf("\n");
               }
          }
          else
          {
               p1=-1;
               for (int i=1;i<poz;i++)
                    printf("%d ",i);
               if (poz%2==0)
               {
                    for (int i=poz;i<=n;i++)
                         printf("%d ",i);
                    nr=n+1;
                    printf("\n");
               }
               else
               {
                    p1=poz;
                    for (int i=poz+1;i<=n+1;i++)
                         printf("%d ",i);
                    printf("\n");
                    nr=n+2;
               }
                    for (int i=2;i<=n;i++)
                    {
                         if (p1!=-1)
                         {
                                  printf("%d ",p1);
                              p1=-1;
                         for (int j=2;j<=n;j++)
                              printf("%d ",nr++);
                         }
                         else
                         {
                              for (int j=1;j<poz;j++)
                                   printf("%d ",nr++);
                              p1=nr;
                              printf("%d ",nr+1);
                              nr+=2;
                              for (int j=poz+1;j<=n;j++)
                                   printf("%d ",nr++);
                         }
                         printf("\n");
                    }

          }
     return 0;
}*/

#include <stdio.h>

using namespace std;

int main ()
{
     int p1,nr=1,n,poz;
     freopen ("tablete.in","r",stdin);
     freopen ("tablete.out","w",stdout);
     scanf ("%d %d",&n,&poz);
     if (n%2==0 && poz%2==0)
     {
          for (int i=1;i<=n;i++)
          {
               for (int j=1;j<=n;j++)
                    printf("%d ",nr++);
               printf("\n");
          }
     }
     else
          if (n%2==0 && poz%2==1)
          {
               p1=poz;
               for (int i=1;i<p1;i++)
                    printf("%d ",i);

               printf("%d ",p1+1);
               for (int i=p1+2;i<=n;i++)
                    printf("%d ",i);
               printf("%d\n",n*n);

               printf("%d ",p1);
               nr=n+1;
               for (int i=2;i<=n;i++)
                    printf("%d ",nr++);
               printf("\n");

               for (int i=3;i<=n;i++)
               {
                    for (int j=1;j<=n;j++)
                         printf("%d ",nr++);
               printf("\n");
               }
          }
          else
          {
               p1=-1;
               for (int i=1;i<poz;i++)
                    printf("%d ",i);
               if (poz%2==0)
               {
                    for (int i=poz;i<=n;i++)
                         printf("%d ",i);
                    nr=n+1;
                    printf("\n");
               }
               else
               {
                    p1=poz;
                    for (int i=poz+1;i<=n+1;i++)
                         printf("%d ",i);
                    printf("\n");
                    nr=n+2;
               }
                    for (int i=2;i<=n;i++)
                    {
                         if (p1!=-1)
                         {
                                  printf("%d ",p1);
                              p1=-1;
                         for (int j=2;j<=n;j++)
                              printf("%d ",nr++);
                         }
                         else
                         {
                              for (int j=1;j<poz;j++)
                                   printf("%d ",nr++);
                              p1=nr;
                              printf("%d ",nr+1);
                              nr+=2;
                              for (int j=poz+1;j<=n;j++)
                                   printf("%d ",nr++);
                         }
                         printf("\n");
                    }

          }
     return 0;
}