```
#include <bits/stdc++.h>
using namespace std;
int n;
int c[1005];
int a[11],b[11],cnt=1;
void dfs(int step){
if(step==n){
int flag=1;
for(int i=0;i<step;i++)
if(c[i]==a[i])
continue;
else{
flag=0;
cnt++;
break;
}
if(flag) {cout<<cnt<<endl;exit(0);}
}
for(int i=1;i<=n;i++){
if(b[i]==0) {
a[step]=i;
b[i]=1;
dfs(step+1);
b[i]=0;
}
}
return;
}
int main(){
string d;
cin>>n>>d;
for(int i=0;i<d.size();i++)
c[i]=d[i]-'0';
dfs(0);
return 0;
}
```
by tyzy_2023 @ 2022-01-28 07:31:40