Pagini recente » Cod sursa (job #2813106) | Cod sursa (job #1761984) | Cod sursa (job #357009) | Cod sursa (job #1747621) | Cod sursa (job #551406)
Cod sursa(job #551406)
#include<cstdio>
#include<cstring>
int n,rez;
char s[11][11];
int st[11];
void files()
{
freopen("copii.in","r",stdin);
freopen("copii.out","w",stdout);
}
void read()
{
int i,j;
files();
scanf("%d ",&n);
for (i=1;i<=n;++i)
gets(s[i]+1);
}
void prelucreaza(int m)
{
int i,j;
int x[11][11]={0};
for (i=1;i<=n;++i)
for (j=1;j<=n;++j)
if (s[i][j]=='1')
x[st[i]][st[j]]=1;
for (i=1;i<=m;++i)
for (j=1;j<=m;++j)
if (i!=j&&x[i][j]==0) return;
++rez;
}
void back(int k,int m)
{
int i;
if (k==n+1)
{
prelucreaza(m);
return;
}
for (i=1;i<=m;++i)
{
st[k]=i;
back(k+1,m);
}
st[k]=m+1;
back(k+1,m+1);
}
int main()
{
read();
back(1,0);
printf("%d",rez-1);
return 0;
}