poj 2342 深度搜索

问题描述:公司办晚会,每个人都有一个活跃度,为了气氛好,要求不能同时把上司和员工分在一起(约束条件)。让你去做出选择,尽力让总活跃度最大。很明显一个动态规划问题。

 

Sample Input

7
1             //可以画棵树
1
1
1
1
1
1
1 3           //L K,K是L的上司 3是1的上司
2 3
6 4
7 4
4 5
3 5
0 0


Sample Output

5

题目来源:http://poj.org/problem?id=2342

思路是:深搜便利该树,已访问过的结点不再访问。

代码来源: http://blog.csdn.net/sr_19930829/article/details/40537507

 

#include   
#include   
#include   
#include   
#include   
using namespace std;  
const int maxn=6005;  
vectorson[maxn];  //???
bool vis[maxn];  
int dp[maxn][2];  
int n;  
  
void dfs(int root)  
{  
    vis[root]=1;  
    for(int i=0;i

 

 

 

你可能感兴趣的:(ACM,DP)