Cod sursa(job #1682337)

Utilizator Vladi.BarasBaras Nicholas Vladimir Laurentiu Vladi.Baras Data 10 aprilie 2016 10:30:57
Problema Tablete Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.93 kb
#include <fstream>

using namespace std;
int v[2][1001],n,cp;
ifstream cin("tablete.in");
ofstream cout("tablete.out");
void afisare(int n)
{
    for(int i=1; i<=2; i++)
    {
        for(int j=1; j<=n; j++)
            cout<<v[i][j]<<' ';
        cout<<'\n';
    }
}
void update(int val,int n)
{
    for(int i=1; i<=2; i++)
    {
        for(int j=1; j<=n; j++)
        {
            v[i][j]+=val;
        }
    }
}
int main()
{
    int n,k;
    cin>>n>>k;int cp=n;
    if(n%2==0&&k%2==0)
    {

        for(int i=1; i<=n*n; i++)
        {
            cout<<i<<" ";
            if(i%n==0)cout<<'\n';
        }
}
    if(n%2==0&&k%2==1)
    {
        for(int i=1; i<n; i++)
        {
            v[1][i]=i+1;
        }
        v[1][n]=2*n;
        v[2][1]=1;
        for(int i=2; i<=n; i++)
        {
            v[2][i]=n-1+i;
        }
        v[2][n]=2*n-1;
        for(int i=1;i<=n/2;++i)
        {
            afisare(n);
            update(2*n,n);
        }

    }
    if(n%2==1&&k%2==0)
    {
        for(int i=1; i<n; i++)
        {
            v[1][i]=i;
            v[2][i]=i+n-1;
        }
        v[1][n]=2*n-1;
        v[2][n]=2*n;
         for(int i=1;i<=n/2;++i)
        {
            afisare(n);
            update(2*n,n);
        }
        for(int i=1;i<=n;i++)
        {
            cout<<(n-1)*n+i<<" ";
        }cout<<'\n';
    }
    if(n%2==1&&k%2==1)
    {v[2][1]=1;
        for(int i=1;i<=n;i++)
        {
            v[1][i]=i+1;

        }
        for(int i=2;i<=n;i++)
        {
            v[2][i]=i+n;
        }
        afisare(n);
     for(int i=2;i<=n/2-1;i++)
     {
         update(2*n,n);
         afisare(n);
              }
              update(2*n,n);
              v[2][n]=n*n;
              afisare(n);
              for(int i=1;i<=n;i++)
              {
                  cout<<n*n-n-1+i<<' ';
              }

    }
    return 0;
}