显示代码纯文本
#include<bits/stdc++.h>
#define Sangonomiya signed
#define Kokomi main()
#define Love return
#define Nahida 0
#define Forever ;
#define IOS cin.tie(nullptr)->sync_with_stdio(false)
#define cin std::cin
#define cout std::cout
const int M=1<<16;
int n,m,now,a[17];
int dp[M][17];
long long ans;
Sangonomiya Kokomi{
//IOS;
freopen("mengbi.in","r",stdin);
freopen("mengbi.out","w",stdout);
cin>>n>>m;
for(int i=0;i<n;i++){
cin>>a[i];
}
for(int i=0;i<n;i++){
dp[1<<i][i]=1;
}
for(int i=0;i<(1<<n);i++){
for(int j=0;j<n;j++){
if(!(i&(1<<j))) continue;
for(int k=0;k<n;k++){
if(i&(1<<k)) continue;
if(std::abs(a[j]-a[k])>m){
now=i|(1<<k);
dp[now][k]+=dp[i][j];
}
}
}
}
for(int i=0;i<n;i++){
ans+=dp[(1<<n)-1][i];
}
cout<<ans;
Love Nahida Forever;
}