比赛 |
中秋节快乐! |
评测结果 |
WWWTTTTTTT |
题目名称 |
骑士 |
最终得分 |
0 |
用户昵称 |
彭欣越 |
运行时间 |
21.003 s |
代码语言 |
C++ |
内存使用 |
7.73 MiB |
提交时间 |
2024-09-17 10:58:50 |
显示代码纯文本
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
int n,mk[1000010],a[1000010],f[1000010];
long long res;
void dfs (int idx,ll sum) {
if (idx>n) {
res=max(res,sum);
return;
}
if (mk[idx]||mk[f[idx]]) {
dfs(idx+1,sum);
return;
}
mk[idx]++;
mk[f[idx]]++;
dfs(idx+1,sum+a[idx]);
mk[idx]--;
mk[f[idx]]--;
dfs(idx+1,sum);
}
int main () {
freopen("bzoj_1040.in","r",stdin);
freopen("bzoj_1040.out","w",stdout);
ios::sync_with_stdio(0);
cin.tie(0),cout.tie(0);
cin >> n;
for (int i=1;i<=n;i++) {
cin >> a[i] >> f[i];
}
dfs(1,0);
cout << res;
return 0;
}