Cod sursa(job #1894637)

Utilizator CalarisPredut Denis Stefanita Calaris Data 27 februarie 2017 00:32:09
Problema Tablete Scor 60
Compilator cpp Status done
Runda Arhiva de probleme Marime 2.08 kb
#include <iostream>
#include <fstream>

using namespace std;

fstream f("tablete.in",ios::in);
ofstream g("tablete.out");

int main()
{
    int N,K,i,j,it1,it2,it3;
    f>>N>>K;
    if(0==N%2)
        {
            it2 = N+N;
            it1 = 2;
            it3 = 1;
        for(i=0;i<N;++i)
            {
            for(j=0;j<N-1;++j)
                {
                 g<<it1++<<" ";
                }
            g<<it2<<"\n";
            i+=1;
            g<<it3<<" ";
            for(j=1;j<N;++j)
                {
                g<<it1++<<" ";
                }
            it1+=2;
            it3 = it1-1;
            it2+=N*2;
            g<<"\n";
            }
        }
    else if(1==N%2 && 1 ==K%2)
        {
        it2 = N+1;
        it1 = 2;
        it3 = 1;
        for(i=0;i<N-1;++i)
            {
            for(j=0;j<N-1;++j)
                {
                 g<<it1++<<" ";
                }
            g<<it2<<"\n";
            it1+=1;
            i+=1;
            g<<it3<<" ";
            for(j=1;j<N;++j)
                {
                if(i==N-2 && j==N-1)g<<(N*N+1-K);
                else g<<it1++<<" ";
                }
            it1+=1;
            it3 = it1-1;
            it2+=N*2;
            g<<"\n";
            }
         g<<it1-1<<" ";
         for(j=1;j<N;++j)
            {
            if(it1==(N*N+1-K))
                {
                    g<<++it1<<" ";
                    ++it1;
                }
            else g<<it1++<<" ";
            }
        }
    else
        {
       it2 = N+N;
        it1 = 1;
        for(i=0;i<N-1;++i)
            {
            for(j=0;j<N-1;++j)
                {
                 g<<it1++<<" ";
                }
            g<<it2<<"\n";
            i+=1;

            for(j=0;j<N;++j)
                {
                g<<it1++<<" ";
                }
            it1+=1;
            it2+=N*2;
            g<<"\n";
            }

         for(j=0;j<N;++j)
            {
            g<<it1++<<" ";
            }
        }
    return 0;
}