Cod sursa(job #2228989)

Utilizator 0738076326Simon Wil 0738076326 Data 5 august 2018 16:46:43
Problema Tablete Scor 50
Compilator cpp Status done
Runda Arhiva de probleme Marime 2.21 kb
#include <fstream>

using namespace std;

ifstream f("tablete.in");
ofstream g("tablete.out");

int a[1001][1001], b[1001][1001],i, j, n, k, nr;

int main()
{
    f>>n>>k;

    nr=1;

    for(i=1; i<=n; i++)
    for(j=1; j<=n; j++)
    {
        a[i][j]=nr;
        nr++;
    }
    /*for(i=1; i<=n; i++){
        for(j=1; j<=n; j++)
            g<<a[i][j]<<" ";
        g<<"\n";
    }*/

    if(n%2==0 && k%2==0)
        for(i=1; i<=n; i++){
        for(j=1; j<=n; j++)
            g<<a[i][j]<<" ";
        g<<"\n";
    }
    else
    if(n%2==0){
    for(i=2; i<=n; i+=2)
    {
        b[i][1]=a[i-1][1];
        for(j=2; j<=n; j++)
            b[i][j]=a[i][j-1];
    }
    for(i=1; i<n; i+=2)
    {
        b[i][n]=a[i+1][n];
        for(j=1; j<n; j++)
            b[i][j]=a[i][j+1];
    }


    for(i=1; i<=n; i++){
        for(j=1; j<=n; j++)
            g<<b[i][j]<<" ";
        g<<"\n";
    }
    }
    else
    {
        if(k%2==0)
        {
            for(i=2; i<=n; i+=4)
            {
                for(j=1; j<n; j++)
                b[i][j]=a[i][j+1];
                for(j=2; j<=n; j++)
                b[i+2][j]=a[i+2][j-1];


            b[i+2][1]=a[i][1];
            b[i][n]=a[i+2][n];
            }
            for(i=1; i<=n; i+=2)
            for(j=1; j<=n; j++)
            {
                b[i][j]=a[i][j];
            }


        }

        else
        {
            for(i=1; i<n; i+=4)
            {
                for(j=1; j<n; j++)
                b[i][j]=a[i][j+1];
                for(j=2; j<=n; j++)
                b[i+2][j]=a[i+2][j-1];


            b[i+2][1]=a[i][1];
            b[i][n]=a[i+2][n];
            }
            for(i=2; i<=n; i+=2)
            for(j=1; j<=n; j++)
            {
                b[i][j]=a[i][j];
            }

            for(j=1; j<=n; j++)
                b[n][j]=a[n][j];

            swap(b[n][n], b[n-2][n]);
            nr=b[n][n];
            for(j=n; j>=2; j--)
                b[n][j]=b[n][j-1];

            b[n][1]=nr;

        }


         for(i=1; i<=n; i++){
        for(j=1; j<=n; j++)
            g<<b[i][j]<<" ";
        g<<"\n";}

    }


    return 0;
}