本文共 961 字,大约阅读时间需要 3 分钟。
1 /* 2 DFS: 排序后一个一个出发往后找,找到>r为止,比赛写了return ; 3 */ 4 #include 5 #include 6 #include 7 #include 8 #include 9 #include 10 #include 11 #include 12 #include 13 #include 14 #include 15 using namespace std;16 17 typedef long long ll;18 const int MAXN = 1e4 + 10;19 const int INF = 0x3f3f3f3f;20 int a[20];21 bool vis[20];22 int n, l, r, x;23 int ans;24 25 void DFS(int sum, int cnt, int s, int p)26 {27 if (sum >= l && cnt >= 2 && a[p] - a[s] >= x) ans++;28 for (int i=p+1; i<=n; ++i)29 {30 if (sum + a[i] <= r) DFS (sum + a[i], cnt + 1, s, i);31 }32 }33 34 int main(void) //Codeforces Round #306 (Div. 2) B. Preparing Olympiad35 {36 while (scanf ("%d%d%d%d", &n, &l, &r, &x) == 4)37 {38 ans = 0;39 for (int i=1; i<=n; ++i) scanf ("%d", &a[i]);40 sort (a+1, a+1+n);41 for (int i=1; i
转载于:https://www.cnblogs.com/Running-Time/p/4555233.html