lqt • 2小时前
using namespace std; int a[25][25],u[25],b[25]; int ans=0; int n; string s; void dfs(int x) {
if(x==n)
{
ans++;
return;
}
for(int i=0;i<n;i++)
{
if(!u[i]&&a[x][i]==1)
{
u[i]=1;
dfs(x+1);
u[i]=0;
}
}
} int main() {
scanf("%d",&n);
for(int i=0;i<n;i++)
{
cin>>s;
for(int j=0;j<n;j++)
{
a[i][j]=s[j]-48;
}
}
dfs(0);
printf("%d",ans);
return 0;
}
评论:
请先登录,才能进行评论