| 记录编号 | 
        593842 | 
        评测结果 | 
        WWWTTTTTTT | 
    
    
        | 题目名称 | 
        2552.[ZJOI 2008] 骑士 | 
        最终得分 | 
        0 | 
            
    
    
        | 用户昵称 | 
         彭欣越 | 
        是否通过 | 
        未通过 | 
    
    
        | 代码语言 | 
        C++ | 
        运行时间 | 
        21.005 s  | 
    
    
        | 提交时间 | 
        2024-09-17 19:51:21 | 
        内存使用 | 
        7.69 MiB  | 
        
    
    
    
    		显示代码纯文本
		
		    #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) {
    	res=max(res,sum);
    	if (idx>n) {
    		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;
    }