Pagini recente » Cod sursa (job #223204) | Cod sursa (job #1784623) | Istoria paginii runda/eusebiuoji2005cls9/clasament | Cod sursa (job #2928789) | Cod sursa (job #1356923)
#include <cstring>
#include <fstream>
#define DIM 12
using namespace std;
ifstream fin("copii.in");
ofstream fout("copii.out");
int N,sol[DIM],nr,answer;
char A[DIM][DIM];
int test(){
for(int i=1;i<=N;i++){
int ok=0;
for(int j=1;j<=N;j++)
if(sol[i]!=sol[j] && A[j][i]=='1'){
ok=1;
break;
}
if(!ok)
return 0;
}
return 1;
}
void back(int k){
if(k==N+1){
answer+=test();
return;
}
for(int i=1;i<=nr;i++){
sol[k]=i;
back(k+1);
}
sol[k]=++nr;
back(k+1);
nr--;
}
int main(){
fin>>N;
for(int i=1;i<=N;i++)
fin>>A[i]+1;
back(1);
fout<<answer;
return 0;
}