#include<bits/stdc++.h>
using namespace std;
#define maxn 300
struct Edge{int from,to,nxt,flag;}edge[maxn<<];
int n,head[maxn],tot,a,b,dis[maxn];
void init(){
memset(head,-,sizeof head);
tot=;
}
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=;
} int Max,node;
void dfs(int u,int pre,int dep){
if(dep>Max){node=u,Max=dep;}
for(int i=head[u];i!=-;i=edge[i].nxt){
int v=edge[i].to;
if(edge[i].flag== || v==pre)continue;
dfs(v,u,dep+);
}
}
int getdis(int root){
node=root;
Max=,dfs(root,,);
Max=,dfs(node,,);
return Max;
} int main(){
init();
cin>>n;
for(int i=;i<n;i++){
int u,v;
cin>>u>>v;
addedge(u,v);
addedge(v,u);
}
int ans=-;
for(int i=;i<tot;i+=){
int u=edge[i].from,v=edge[i].to;
edge[i].flag=edge[i^].flag=;
int m1=getdis(u),m2=getdis(v);
ans=max(ans,m1*m2);
edge[i].flag=edge[i^].flag=;
}
printf("%d\n",ans);
}

最新文章

  1. n的阶乘高精度算法【阶乘】
  2. Unity3D中C#和js方法相互调用
  3. iOS 1 到 iOS 10 ,我都快老了
  4. 微软VSS的超级BUG
  5. ASP.NET MVC- KindEditor的使用
  6. frontend http 前端名字定义问题
  7. Azure Messaging-ServiceBus Messaging消息队列技术系列5-重复消息:at-least-once at-most-once
  8. NoSQL性能测试工具YCSB-Running a Workload
  9. c++读写MySQL
  10. web领域的实时推送技术-WebSocket
  11. ROS_Kinetic_14 ROS工具roswtf的基本使用方法等
  12. SDK踩坑全纪录
  13. SQL Alias(别名)
  14. PythonStudy——Python 内置函数 Built-in function
  15. January 17th, 2018 Week 03rd Wednesday
  16. Unity调用Windows对话框保存时另存为弹框
  17. .NET 开源Protobuf-net从入门到精通
  18. eclipse项目setting文件
  19. ROS知识(18)----Pluginlib原理
  20. Python2 列表 cmp() 方法

热门文章

  1. 【报错】java.lang.IllegalStateException: ContainerBase.addChild: start: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[
  2. .Net core 使用特性Attribute验证Session登陆状态
  3. F - Change FZU - 2277 (DFS序+线段树)
  4. java程序中默认浮点形值常量是什么类型的?如何区分不同类型的浮点型整数值常量?
  5. ueditor取消文本编辑器的自动拉伸高度、宽度。
  6. 【VMware vSphere】详解VDP安装步骤
  7. Java基础2-基本语法
  8. eMMC基础技术3:eMMC总线token
  9. eMMC基础技术9:分区管理
  10. Linux内存分配小结--malloc、brk、mmap【转】