Cod sursa(job #1242624)

Utilizator turbowin120Amarandei-Stanescu Alexandru turbowin120 Data 14 octombrie 2014 19:43:11
Problema Copii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.83 kb
#include <iostream>
#include <fstream>
#include<stdio.h>
using namespace std;

FILE *in;
ofstream out("copii.out");


int n,sol[30],cnt[30],cnt2,v[30][30],aux;
bool fol[30];
int liste[30][30];



void citire(){
    in=fopen("copii.in","r");
    fscanf(in,"%d",&n);

    for(int i=1;i<=n;i++)
        for(int j=1;j<=n;j++){
        fscanf(in,"%d",&aux);
        if(aux==1)
            liste[i][cnt[i]++]=j;

        }


}


void bkt(int p,int ver,int urm){
    if(p-1==n&&ver<=0){
        cnt2++;

    }
    else
        for(int i=urm;i<=n;i++)
            if(!fol[i]){
                fol[i]=true;
                sol[p]=i;
                for(int j=1;j<=cnt[i];j++)
                ver--;
                bkt(p+1,ver,urm);
                fol[i]=false;
            }
}


int main()
{
    citire();
    bkt(1,n,1);
    out<<cnt2/2;
    return 0;
}