Cod sursa(job #2031152)

Utilizator SoranaAureliaCatrina Sorana SoranaAurelia Data 2 octombrie 2017 19:36:29
Problema Tablete Scor 50
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.92 kb
#include <fstream>
using namespace std;

ifstream f("tablete.in");
ofstream g("tablete.out");
int n,k;

int main()
{
    f>>n>>k;
    int a[n+1][n+1];
    for(int i=0; i<=n; i++)
        for(int j=0; j<=n; j++)
            a[i][j]=0;
    if(k%2==0)
    {
        int h=1;
        for(int i=1; i<=n; i++)
            for(int j=1; j<=k; j++)
            {
                a[i][j]=h;
                h++;
            }
        for(int i=1; i<=n; i++)
            for(int j=k+1; j<=n; j++)
            {
                a[i][j]=h;
                h++;
            }
    }
    else
    {
        int h=1;
        int x;
        for(int i=1; i<=n;i++)
        {
           if(i%2==1)
           {
               for(int j=1; j<k; j++)
               {
                    a[i][j]=h;
                    h++;
               }
               h--;
               a[i][k]=h+2;
               x=h+1;
               h+=3;

            }
           else
           {
               a[i][1]=x;
               for(int j=2; j<=k; j++)
               {
                   a[i][j]=h;
                   h++;
               }
           }


        }
        if(n%2==0)
        {
            for(int i=1; i<=n; i++)
            {
                for(int j=k+1;j<=n; j++)
                {
                    a[i][j]=h;
                    h++;
                }
            }
        }
        else
        {
            a[1][k+1]=h-1;
            for(int j=k+2;j<=n; j++)
            {
                a[1][j]=h;
                h++;
            }
            for(int i=2; i<=n; i++)
                for(int j=k+1; j<=n; j++)
                {
                    a[i][j]=h;
                    h++;
                }
        }

    }
    for(int i=1; i<=n; i++)
        {
            for(int j=1; j<=n; j++)
                g<<a[i][j]<<" ";
            g<<endl;

        }
    return 0;
}