zoukankan      html  css  js  c++  java
  • cf14d 树的直径,枚举删边

    #include<bits/stdc++.h>
    using namespace std;
    #define maxn 300
    struct Edge{int from,to,nxt,flag;}edge[maxn<<1];
    int n,head[maxn],tot,a,b,dis[maxn];
    void init(){
        memset(head,-1,sizeof head);
        tot=0;
    }
    void addedge(int u,int v){
        edge[tot].from=u,edge[tot].to=v;edge[tot].nxt=head[u];head[u]=tot++;
        edge[tot].flag=1;
    }
    
    int Max,node;
    void dfs(int u,int pre,int dep){
        if(dep>Max){node=u,Max=dep;}
        for(int i=head[u];i!=-1;i=edge[i].nxt){
            int v=edge[i].to;
            if(edge[i].flag==0 || v==pre)continue;
            dfs(v,u,dep+1);
        }
    }
    int getdis(int root){
        node=root;
        Max=0,dfs(root,0,0);
        Max=0,dfs(node,0,0);
        return Max;
    }
    
    int main(){
        init();
        cin>>n;
        for(int i=1;i<n;i++){
            int u,v;
            cin>>u>>v;
            addedge(u,v);
            addedge(v,u);
        }
        int ans=-1;
        for(int i=0;i<tot;i+=2){
            int u=edge[i].from,v=edge[i].to;
            edge[i].flag=edge[i^1].flag=0;
            int m1=getdis(u),m2=getdis(v);
            ans=max(ans,m1*m2);
            edge[i].flag=edge[i^1].flag=1;
        }
        printf("%d
    ",ans);
    }
  • 相关阅读:
    Linux_day01_primaryCommand
    Variational auto-encoder VS auto-encoder
    python yield generator 详解
    Paper Writing
    DTU_AI lecture 09
    DTU_AI lecture 08
    Attention mechanism
    Energy Journals
    TF + pytorch学习
    expRNN
  • 原文地址:https://www.cnblogs.com/zsben991126/p/10333334.html
Copyright © 2011-2022 走看看