Cod sursa(job #1589930)

Utilizator armandpredaPreda Armand armandpreda Data 4 februarie 2016 16:14:16
Problema Tablete Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.37 kb
#include <fstream>

using namespace std;

ifstream cin("tablete.in");
ofstream cout("tablete.out");

int n, k;
int main()
{
    cin>>n>>k;
    if(k%2==0)
    {
        for(int i=1; i<=n; ++i)
        {
            for(int j=1; j<=n; ++j)
                cout<<(i-1)*n+j<<' ';
            cout<<'\n';
        }
        return 0;
    }
    if(n%2==0)
    {
        for(int i=1; i<=n-1; ++i)
        {
            for(int j=1; j<=n; ++j)
                if(i==1 and j==n)
                    cout<<n*n<<' ';
                else
                    cout<<(i-1)*n+j+1<<' ';
            cout<<'\n';
        }
        cout<<1<<' '<<n+1<<' ';
        for(int i=3; i<=n; ++i)
            cout<<(n-1)*n+i-1<<' ';
    }
    else
    {
        for(int i=1; i<n; ++i)
        {
            if(i%2==0)
                for(int j=1; j<=n; ++j)
                    cout<<(i-1)*n+j<<' ';
            else
                for(int j=1; j<=n; ++j)
                    if(j==n)
                        if(i==1)
                            cout<<n*n<<' ';
                        else
                            cout<<(i+1)*n+j;
                    else
                        cout<<(i-1)*n+j-1<<' ';
            cout<<'\n';
        }
        cout<<1<<' '<<2*n+1<<' ';
        for(int i=3; i<=n; ++i)
            cout<<(n-1)*n+i+1<<' ';
    }
    return 0;
}