Tyvj 1085 派对

时间:2023-03-09 09:47:21
Tyvj 1085 派对

这道题和HDU 1016的素数环那道题很相似。

虽然1A了,但写代码的过程中还是丢三落四的。

贴完代码闪人,嘿嘿

 //#define LOCAL
#include <iostream>
#include <cstdio>
#include <cstring>
#include <cmath>
using namespace std; int n, k, cnt;
int a[], b[], vis[]; void DFS(int dep)
{
if(dep == n )
{
if(abs(b[dep-] - b[]) <= k)
++cnt;
return;
}
for(int i = ; i < n; ++i)
{
if(!vis[i] && abs(a[i]-b[dep-])<=k)
{
vis[i] = ;
b[dep] = a[i];
DFS(dep+);
vis[i] = ;
}
}
} int main(void)
{
#ifdef LOCAL
freopen("1085in.txt", "r", stdin);
#endif scanf("%d%d", &n, &k);
for(int i = ; i < n; ++i)
scanf("%d", &a[i]);
memset(vis, , sizeof(vis));
cnt = ;
b[] = a[];
vis[] = ;
DFS();
printf("%d\n", cnt);
return ;
}

代码君