Cod sursa(job #764447)

Utilizator gramatovici_paulGramatovici Paul gramatovici_paul Data 5 iulie 2012 11:51:22
Problema Lacate Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.95 kb
#include <iostream>
#include <fstream>

using namespace std;


ifstream in("lacate.in");
ofstream out("lacate.out");

int nr[300],x[300][300];
bool a[300][300];

int main()
{
    int n,l,i,j,p;
    in>>n;
    l=n*(n-1)/2;
    out<<l<<" "<<n-1;
    for(i=1;i<=l;++i)
    {
        for(j=1;j<=n;++j)
        {
            if(nr[j]==(2*(i-1))/n)
            {
                nr[j]++;
                x[j][nr[j]]=i;
                p=j;
                break;
            }
        }
        for(j=1;j<=n;++j)
        {
            if(j==p)
                continue;
            if(nr[j]==(2*(i-1)+1)/n && a[p][j]==false)
            {
                nr[j]++;
                x[j][nr[j]]=i;
                a[p][j]=a[j][p]=true;
                break;
            }
        }
    }
    out<<"\n";
    for(i=1;i<=n;++i)
    {
        for(j=1;j<n;++j)
            out<<x[i][j]<<" ";
        out<<"\n";
    }
    return 0;
}