比赛 中秋节快乐! 评测结果 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;
}