Cod sursa(job #2246871)

Utilizator Iulia14iulia slanina Iulia14 Data 27 septembrie 2018 17:31:31
Problema Tablete Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.94 kb
#include <fstream>

using namespace std;
ifstream cin ("tablete.in");
ofstream cout ("tablete.out");
int a[1005][1005];
int main()
{
    int n,k,i,cnt,j;
    cin>>n>>k;
    if (k%2==0)
    {
        for (i=1;i<=n;i++)
            for (j=1;j<=k;j++)
                a[i][j]=(i-1)*k+j;
        cnt=k*n;
        for (i=1;i<=n;i++)
            for (j=k+1;j<=n;j++)
            {
                cnt++;
                a[i][j]=cnt;
            }
    }
    else
    {
        for (i=1;i<=n/2;i++)
        {
            cnt=(i-1)*2*k;
            for (j=1;j<=k-1;j++)
            {
                cnt++;
                a[i*2-1][j]=cnt;
            }
            a[i*2-1][k]=cnt+2;
            a[i*2][1]=cnt+1;
            cnt+=2;
            for (j=2;j<=k;j++)
            {
                cnt++;
                a[i*2][j]=cnt;
            }
        }
        if (n%2==1)
        {
            for (j=1;j<=k-1;j++)
                a[n][j]=(n-1)*k+j;
            a[n][k]=n*k+1;
            a[1][k+1]=n*k;
            cnt=n*k+2;
            for (i=1;i<=n;i++)
            {
                if (i==1)
                {
                    for (j=k+2;j<=n;j++)
                    {
                        a[i][j]=cnt;
                        cnt++;
                    }
                }
                else
                {
                    for (j=k+1;j<=n;j++)
                    {
                        a[i][j]=cnt;
                        cnt++;
                    }
                }

            }
        }
        else
        {
            cnt=n*k;
            for (i=1;i<=n;i++)
            {
                for (j=k+1;j<=n;j++)
                {
                    cnt++;
                    a[i][j]=cnt;
                }
            }
        }
    }
    for (i=1;i<=n;i++)
    {
        for (j=1;j<=n;j++)
            cout<<a[i][j]<<" ";
        cout<<endl;
    }
    return 0;
}