zoukankan      html  css  js  c++  java
  • 树的直径 【bzoj3363】[Usaco2004 Feb]Cow Marathon 奶牛马拉松

    3363: [Usaco2004 Feb]Cow Marathon 奶牛马拉松

    Description

    ​ 最近美国过度肥胖非常普遍,农夫约翰为了让他的奶牛多做运动,举办了奶牛马拉松.马拉

    松路线要尽量长,所以,告诉你农场的地图(该地图的描述与上题一致),请帮助约翰寻找两个

    最远农场间的距离.

    Input

    ​ 第1行:两个分开的整数N和M.

    ​ 第2到M+1行:每行包括4个分开的内容,Fi,F2,L,D分别描述两个农场的编号,道路的长

    度,F1到F2的方向N,E,S,W.

    Output

    ​ 一个整数,表示最远两个衣场间的距离.

    找树的直径,水。

    m和opt都是没有用的。

    code

    #include<iostream>
    #include<cstdio>
    #include<cstring>
    using namespace std;
    const int wx=500017;
    inline int read(){
    	int sum=0,f=1;char ch=getchar();
    	while(ch<'0'||ch>'9'){if(ch=='-')f=-1;ch=getchar();}
    	while(ch>='0'&&ch<='9'){sum=(sum<<1)+(sum<<3)+ch-'0';ch=getchar();}
    	return sum*f;
    }
    struct e{
    	int nxt,to,dis;
    }edge[wx];
    int n,m,k,num;
    int ans,maxn,pos;
    int head[wx],dis[wx];
    void add(int from,int to,int dis){
    	edge[++num].nxt=head[from];
    	edge[num].to=to;
    	edge[num].dis=dis;
    	head[from]=num;
    }
    void dfs(int u,int fa){
    	for(int i=head[u];i;i=edge[i].nxt){
    		int v=edge[i].to;
    		if(v==fa)continue;
    		dis[v]=dis[u]+edge[i].dis;
    		dfs(v,u);
    	}
    }
    int main(){
    	n=read();read();
    	for(int i=1;i<n;i++){
    		int x,y,z;
    		x=read();y=read();z=read();scanf("%s");
    		add(x,y,z);add(y,x,z);
    	}
    	dfs(1,0);
    	for(int i=1;i<=n;i++){
    		if(maxn<dis[i]){
    			maxn=dis[i];pos=i;
    		}
    	}
    	memset(dis,0,sizeof dis);
    	dfs(pos,0);
    	for(int i=1;i<=n;i++){
    		ans=max(ans,dis[i]);
    	}
    	printf("%d
    ",ans);
    	return 0;
    }
    
  • 相关阅读:
    88. Merge Sorted Array
    87. Scramble String
    86. Partition List
    85. Maximal Rectangle
    84. Largest Rectangle in Histogram
    83. Remove Duplicates from Sorted List
    82. Remove Duplicates from Sorted List II
    81. Search in Rotated Sorted Array II
    80. Remove Duplicates from Sorted Array II
    计算几何——点线关系(叉积)poj2318
  • 原文地址:https://www.cnblogs.com/wangxiaodai/p/9765385.html
Copyright © 2011-2022 走看看