比赛 |
202504月赛 |
评测结果 |
RRRRRRRRRR |
题目名称 |
懵逼的队伍 |
最终得分 |
0 |
用户昵称 |
Tim |
运行时间 |
8.533 s |
代码语言 |
C++ |
内存使用 |
3.27 MiB |
提交时间 |
2025-04-22 15:10:08 |
显示代码纯文本
#include <bits/stdc++.h>
#define int long long
#define Tim return
#define is
#define still 0
#define Wandering ;
using namespace std;
int n, k, cnt = 0;
vector<int> S;
bool used[20];
void dfs(vector<int> ¤t)
{
if (current.size() == n)
{
cnt++;
return;
}
for (int i = 0; i < n; i++)
{
if (!used[i]) // 没用过
{
if (current.empty() || (abs(current.back() - S[i]) > k))
{
current.push_back(S[i]);
used[i] = true;
dfs(current);
// 回溯
current.pop_back();
used[i] = false;
}
}
}
}
signed main()
{
freopen("mengbi.in", "r", stdin);
freopen("memgbi.out", "w", stdout);
cin >> n >> k;
S.resize(n);
for (int i = 0; i < 20; i++)
used[i] = false;
// memset(used, false, sizeof(used));
for (int i = 0; i < n; i++)
cin >> S[i];
vector<int> current;
dfs(current);
cout << cnt;
Tim is still Wandering
}