Cod sursa(job #2336508)

Utilizator stefantagaTaga Stefan stefantaga Data 5 februarie 2019 10:36:47
Problema Copii Scor 90
Compilator cpp-64 Status done
Runda simulareinfo1_4 Marime 1.2 kb
#include <fstream>

using namespace std;
ifstream f("copii.in");
ofstream g("copii.out");
char a[15][15];
int sol[15],ans,n;
bool your_mom_is_gay[15][15];
void verification_function_2(int m)
{int i,j;
    if (m==1)
    {
        return;
    }
    for (i=1;i<=n;i++)
    {
        for (j=1;j<=n;j++)
        {
            your_mom_is_gay[i][j]=false;
        }
    }
    for (i=1;i<=n;i++)
    {
        for (j=1;j<=n;j++)
        {
            if (a[i][j]=='1')
            {
                your_mom_is_gay[sol[i]][sol[j]]=true;
            }
        }
    }
    for (i=1;i<=m;i++)
    {
        for (j=1;j<=m;j++)
        {
            if (i!=j&&your_mom_is_gay[i][j]==false)
            {
                return ;
            }
        }
    }
    ans++;
}
void back_tracking(int p,int m)
{
    int i;
    if (p==n+1)
    {
        verification_function_2(m);
        return;
    }
    for(i=1;i<=m;i++)
    {
        sol[p]=i;
        back_tracking(p+1,m);
    }
    sol[p]=m+1;
    back_tracking(p+1,m+1);
}
int i,j,m;
int main()
{
    f>>n;
    for (i=1;i<=n;i++)
    {
        f>>(a[i]+1);
    }
    back_tracking(1,0);
    g<<ans;
    return 0;
}