Cod sursa(job #2501833)

Utilizator david.teacaDavid Stefan Teaca david.teaca Data 30 noiembrie 2019 11:37:58
Problema Lacate Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.05 kb
#include <fstream>

#include <algorithm>

using namespace std;



ifstream f("lacate.in");

ofstream g("lacate.out");



int ma[300][300],nrc,ind,n;

int ap[300000];



int main()

{

    f>>n;nrc=n-1;

    g<<n*(n-1)/2<<" "<<n-1<<'\n';

    for(int i=1;i<n;++i)ma[1][i]=i,ap[i]++;

    for(int i=2;i<=n;++i)ma[i][1]=i-1,ap[i-1]++;

    for(int i=2;i<=n;++i)

    {

        ind=1;

        for(int k=1;k<i;++k)

        {

            for(int j=1;j<n;++j)

                if(ap[ma[k][j]]==1)

                {

                    ind++;

                    ap[ma[k][j]]++;

                    ma[i][ind]=ma[k][j];

                    break;

                }

        }

        for(int j=1;j<=n*n;++j)

        {

//            if(i==3)g<<j<<" "<<ap[j]<<endl;

            if(!ap[j])ind++,ap[j]++,ma[i][ind]=j;

            if(ind==n-1)break;

        }

    }

    for(int i=1;i<=n;++i){

        for(int j=1;j<=n-1;++j)

        g<<ma[i][j]<<" ";g<<'\n';

    }

    return 0;

}