Cod sursa(job #2254640)

Utilizator alexnigaNiga Alexandru alexniga Data 5 octombrie 2018 17:37:21
Problema Tablete Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 2.58 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("tablete.in");
ofstream g("tablete.out");
unsigned a[1010][1010];
int n,k, num=1, i, j, s=2, ss=1;
int main()
{

    f>>n>>k;
    if(n%2==0 && k%2==0)
    {
        for(i=1; i<=n; i++)
        {
            for(j=1; j<=n; j++)
            {
                g<<num<<" ";
                num++;
            }
            g<<"\n";
        }
    }
    if(n%2!=0&&k%2==0)
    {
        for(i=1; i<=n; i++)
            for(j=1; j<=k; j++)
            {
                a[i][j]=num;
                num++;
            }
        for(i=1; i<=n; i++)
            for(j=k+1; j<=n; j++)
            {
                a[i][j]=num;
                num++;
            }
        for(i=1; i<=n; i++)
        {
            for(j=1; j<=n; j++)
                g<<a[i][j]<<" ";
            g<<"\n";
        }
    }
    if(k%2!=0)
    {
        for(i=1; i<=n; i++)
            for(j=1; j<=k; j++)
            {
                if(j==1 && i!=1 && ss!=0)
                {
                    a[i][j]=ss;
                    ss=0;
                }
                else
                {
                    if(j==1 && i!=1 && ss==0)
                    {
                        a[i][j]=s;
                        s++;
                    }
                    else if(j==k && s%2==0)
                    {
                        a[i][j]=s;
                        s++;
                    }
                    else if(j==k && s%2==1)
                    {
                        ss=s;
                        s++;
                        a[i][j]=s;
                        s++;
                    }
                    else
                    {
                        a[i][j]=s;
                        s++;
                    }

                }

            }

        if(n%2==0)
        {

            for(i=1; i<=n; i++)
                for(j=k+1; j<=n; j++)
                {
                    a[i][j]=s;
                    s++;
                }
        }
        else
        {
            a[1][k+1]=ss;
            for(j=k+2; j<=n; j++)
            {
                a[1][j]=s;
                s++;
            }


            for(i=2; i<=n; i++)
                for(j=k+1; j<=n; j++)
                {

                        a[i][j]=s;
                        s++;

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


    return 0;
}