zoukankan      html  css  js  c++  java
  • A. Party

    题目链接:http://codeforces.com/problemset/problem/115/A

    题目大意: 每个人都有一个或者没有直属上司,现在想举办一个party,这个party要求参加的人人人平等不存在上下级关系。 问最少要分几组?

    思路:

    其实就是每个人都有一个或者没有父亲节点,我们要让同深度的人组成一个队伍就可以。 即就是找树的最大深度

    AC代码:

     1 #include <cstdio>
     2 #include <string>
     3 #include <iostream>
     4 #include <algorithm>
     5 #include <string.h>
     6 #include <math.h>
     7  
     8 using namespace std;
     9  
    10 const int maxn = 2005;
    11  
    12 int fa[maxn];
    13 int temp = 0;
    14  
    15 void dfs(int i)
    16 {
    17     if (i == -1)
    18         return ;
    19     else
    20     {
    21         temp++;
    22         dfs(fa[i]);
    23     }
    24 }
    25  
    26  
    27  
    28 int main()
    29 {
    30     int n,sum = 0;
    31     cin >> n;
    32     for (int i=1;i<=n;i++)
    33     {
    34         cin >> fa[i];
    35     }
    36     for (int i=1;i<=n;i++)
    37     {
    38         temp = 0;
    39         dfs(i);
    40         sum = max(sum,temp);
    41     }
    42     printf("%d
    ",sum);
    43     return 0;
    44 }
  • 相关阅读:
    机器学习的定义和分类
    选股
    mysql修改密码
    快速排序
    php的错误类型
    MySQL数据库优化
    库存超卖问题
    循环处理
    kafka安装配置
    JavaScript、jQuery杂记
  • 原文地址:https://www.cnblogs.com/-Ackerman/p/11173527.html
Copyright © 2011-2022 走看看