# include <bits/stdc++.h>
typedef long long ll;
using namespace std;
int n, a, b, x[40] = {990, 1010, 1970, 2030, 2940, 3060, 3930, 4060, 4970, 5030, 5990, 6010, 7000}, sum;
bool vis[40];
void dfs (int now) {
if (now + a > 6999) {
sum ++;
return ;
}
for (int i = 0; i < n; i ++)
if (! vis[i] && x[i] >= now + a && x[i] <= now + b) {
if (x[i] > 6999) {
sum ++;
return ;
}
vis[i] = 1;
dfs (x[i]);
vis[i] = 0;
}
return ;
}
int main () {
cin >> a >> b >> n;
n += 13;
for (int i = 13; i < n; i ++)
cin >> x[i];
dfs (0);
cout << sum;
return 0;
}
数据输入:
999
1001
11
1000
4000
1001
2002
3003
4004
5005
6006
3001
4999
5999
数据答案:
1
我的输出:
2
分析: