Pagini recente » Cod sursa (job #3174198) | Cod sursa (job #2403001) | Cod sursa (job #1116452) | Cod sursa (job #2628283) | Cod sursa (job #734383)
Cod sursa(job #734383)
#include<fstream>
#define nmax 12
#define dll long long
using namespace std;
ifstream f("copii.in");
ofstream g("copii.out");
char P[nmax][nmax];
int C[nmax],N;
dll rez=-1;
void citire()
{
f>>N;
f.get();
int i;
for(i=1;i<=N;++i)
f>>P[i]+1;
}
int verif(int nrg)
{
int i,j;
char G[nmax][nmax]={0};
for(i=1;i<=N;++i)
for(j=1;j<=N;++j)
if(P[i][j]=='1')
G[C[i]][C[j]]=1;
for(i=1;i<=nrg;++i)
for(j=1;j<=nrg;++j)
if(G[i][j]==0 && j!=i)
return 0;
return 1;
}
void back(int k,int nrg)
{
if(k==N+1)
{
rez+=verif(nrg);
return;
}
int i;
for(i=1;i<=nrg;++i)
{
C[k]=i;
back(k+1,nrg);
}
C[k]=nrg+1;
back(k+1,nrg+1);
}
int main()
{
citire();
back(1,0);
g<<rez<<'\n';
}