#include <bits/stdc++.h>
using namespace std;
const int nmax = 1e5 + 1, mod = 1e9 + 7;
int cnt = 0, n;
int v[20], curr[20];
void bk(int ind, int mx) {
if(ind == n + 1) {
cnt++;
for(int i = 1; i <= n; i++) {
if(v[i] != curr[i]) {
return;
}
}
cout << cnt % mod;
exit(0);
}
for(int i = 1; i <= mx; i++) {
curr[ind] = i;
bk(ind + 1, mx);
}
curr[ind] = mx + 1;
bk(ind + 1, mx + 1);
curr[ind] = 0;
}
int main(){
ios_base::sync_with_stdio(0);cin.tie(0);
cin >> n;
for(int i = 1; i <= n; i++) {
cin >> v[i];
}
bk(1, 0);
return 0;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |