Cod sursa(job #2476389)

Utilizator marian013Giugioiu Marian Constantin marian013 Data 18 octombrie 2019 19:18:10
Problema Copii Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.81 kb
#include <bits/stdc++.h>
using namespace std;
ifstream f("copii.in");
ofstream g("copii.out");
int viz[15][15],v[15],n,r;
vector <string> a;
int verif(int x)
{
    memset(viz,0,sizeof(viz));
    for(int i=0;i<n;i++)
    for(int j=0;j<n;j++)
        if(a[i][j]=='1')
            viz[v[i]][v[j]]=1;
    for(int i=0;i<x;i++)
    for(int j=0;j<x;j++)
        if(i!=j&&viz[i][j]==0)
            return 0;
    if(x!=1)
    return 1;
}
void back(int k,int m)
{
    if(k==n&&verif(m))
        r++;
    if(k==n) return ;
    for(int i=0;i<=m;i++)
    {
        v[k]=i;
        if(i<m)
            back(k+1,m);
        else
            back(k+1,i+1);
    }
}
int main()
{
    f>>n;
    for(int i=1;i<=n;i++)
    {
        string s; f>>s;
        a.push_back(s);
    }
    back(0,0);
    g<<r;
}