非常简单的搜索。

思路:先排序,然后,搜索枚举的时候满足A < 两个旅店 < B,然后,搜索就行了。

#include<iostream>
#include<algorithm>
using namespace std;
#define ll long long
int num[] = { , , , , , , , , , , , , , };
int len = ;
int a, b, n;
int ans; void DFS(int k, int n){
if (k == ){ ++ans; return; }
for (int i = n + ; num[i] - num[n] <= b&&i<len; ++i)
if (num[i]-num[n]>=a)
DFS(num[i], i);
} int main(){
cin >> a >> b;
cin >> n;
while (n--){
int x;
cin >> x;
num[len++] = x;
}
sort(num, num + len);
DFS(, );
cout << ans << endl;
}
05-07 15:02
查看更多