Pagini recente » Cod sursa (job #209985) | Cod sursa (job #243979) | Istoria paginii runda/baraj-2023-day-1 | Cod sursa (job #1276957) | Cod sursa (job #1376469)
#include <fstream>
#include <string.h>
#include <algorithm>
using namespace std;
ifstream fin("copii.in");
ofstream fout("copii.out");
int TaramulFericirii[11][11],i,j,n,stack[11],Max[11],sol,nr;
char copii[11][11];
int test()
{
memset(TaramulFericirii,0,sizeof(TaramulFericirii));
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
if(stack[i]!=stack[j]&&copii[i][j]=='1')
TaramulFericirii[stack[i]][stack[j]]=1;
int ok=1;
for(i=1;i<=Max[n];i++)
for(j=1;j<=Max[n];j++)
if(TaramulFericirii[i][j]!=1&&i!=j)
{
ok=0;
TaramulFericirii[i][j]=0;
}
nr+=ok;
}
void back(int k)
{
if(k==n+1)
sol+=test();
else
{
for(int i=1;i<=1+Max[k-1];i++)
{
stack[k]=i;
Max[k]=max(i,Max[k-1]);
back(k+1);
}
}
}
int main()
{
fin>>n;
for(i=1;i<=n;i++)
fin>>copii[i]+1;
back(1);
fout<<nr-1;
return 0;
}