zoukankan      html  css  js  c++  java
  • Codeforces 14D

    #include<iostream>
    #include<cstdio>
    #include<cstring>
    using namespace std;
    const int MAX = 205;
    int dep, n, map[MAX][MAX];
    int dfs(int u, int v){
        int max1, max2, path_max;
        max1 = max2 = path_max = 0;
        for(int i = 1;i <= n;i ++){
            if(map[i][u] && i != v){
                int z = dfs(i, u);
                if(path_max < z) path_max = z;
                if(max1 < dep){
                    max2 = max1;
                    max1 = dep;
                }
                else if(max2 < dep) max2 = dep;
            }
        }
        if(path_max < max1 + max2) path_max = max2 + max1;
        dep = max1 + 1;
        return path_max;
    }
    
    int main(int argc, char const *argv[]){
        int u, v;
        //freopen("in.c", "r", stdin);
        while(~scanf("%d", &n)){
            memset(map, 0, sizeof(map));
            for(int i = 0; i < n - 1;i ++){
                scanf("%d%d", &u, &v);
                map[u][v] = map[v][u] = 1;
            }
            int ans = -1;
            for(int i = 1;i <= n;i ++){
                for(int j = 1;j <= n;j ++){
                    if(map[i][j]){
                        int a = dfs(i, j);
                        int b = dfs(j, i);
                        ans = max(ans, a*b);
                    }
                }
            }
            printf("%d
    ", ans);
        }
        return 0;
    }


  • 相关阅读:
    java例题 汽油检测
    java常用api
    二分搜索法
    java例题
    java基础
    表单验证
    4.10 pm例题
    0805
    0731 框架Mybatis
    小结
  • 原文地址:https://www.cnblogs.com/anhuizhiye/p/3933222.html
Copyright © 2011-2022 走看看