比赛 202504月赛 评测结果 AAAAAAAAAA
题目名称 懵逼的队伍 最终得分 100
用户昵称 HCl 运行时间 0.133 s
代码语言 C++ 内存使用 5.08 MiB
提交时间 2025-04-22 15:36:44
显示代码纯文本
#include<bits/stdc++.h>
using namespace std;
typedef long long ll ;
const int N = 18;
int n, k;
int a[N];
ll  dp[1 << N][N];
int main(void) {
	freopen("mengbi.in", "r", stdin);
	freopen("mengbi.out", "w", stdout);
	cin >> n >> k;
	for (int i = 0; i < n; i++)cin >> a[i];
	for (int i = 0; i < n; i++)dp[1 << i][i] = 1;
	for (int  mask = 0; mask < (1 << n); mask++) {
		for (int  i = 0; i < n; i++) {
			if (!(mask & (1 << i)))continue;
			for (int  j = 0; j < n; j++) {
				if (mask & (1 << j))continue;
				if (abs(a[j] - a[i]) > k) {
					int  last = mask | (1 << j);
					dp[last][j] += dp[mask][i];
				}
			}
		}
	}
	ll ans = 0;
	for (int i = 0; i < n; i++) {
		ans += dp[(1 << n) -1][i];
	}
	cout << ans;
	return 0;
}