- C++
P177 Maoge的塔WA0分求助
- 2024-7-4 16:30:26 @
#include <bits/stdc++.h>
using namespace std;
const int MOD=pow(10,9)+7;
int ans=0;
int n,d;
int a[1009],ra[1009],v[1009];
void dfs(int id,int cd){
if(id==cd+1)
{
for(int i=1;i<id-1;i++)
{
if(ra[i+1]>=ra[i]-d) return ;
}
ans++;
ans=ans%MOD;
return;
}
for(int i=1;i<=n;i++){
if(v[a[i]]==0)
{
v[a[i]]=1;
ra[id]=a[i];
dfs(id+1,cd);
v[a[i]]=0;
}
}
}
int main(){
cin>>n>>d;
for(int i=1;i<=n;i++) cin>>a[i];
ans=ans+n;
for(int i=2;i<=n;i++)
{
dfs(1,i);
memset(ra,0,sizeof(ra));
}
cout<<ans;
return 0;
}
0 条评论
目前还没有评论...