poj1330 求二叉树的公共父节点
来源:互联网 发布:ubuntu 16.04应用商店 编辑:程序博客网 时间:2024/04/30 04:50
一次AC的题,感觉很爽。标程用了vector和DFS。自己写了一个,不用技巧
#include<iostream>#include<cstring>using namespace std;int fu[10005],ceng[10005],t,n,tou,wei,ntou,nwei;int p(int n){int num=1,t=n;while(fu[t]){num++;t=fu[t];if(ceng[t])return ceng[n]=num+ceng[t];//加了这句可以节省不少时间 }return ceng[n]=num;}void f(int tou,int wei){int ptou=tou,pwei=wei;while(ptou!=pwei){if(ceng[ptou]>ceng[pwei])ptou=fu[ptou];elsepwei=fu[pwei];}cout<<ptou<<endl;}main(void){cin>>t;while(t--){cin>>n;memset(fu,0,sizeof(fu));memset(ceng,0,sizeof(ceng));for(int i=0;i<n-1;i++){cin>>tou>>wei;fu[wei]=tou;}for(int i=1;i<=n;i++)p(i);cin>>tou>>wei;f(tou,wei);}}
0 0
- poj1330 求二叉树的公共父节点
- 求二叉树的最小公共父节点
- 【二叉树】求二叉树中两个节点的最近公共父节点
- 求二叉树两节点的最低公共节点
- 求二叉树的任意两个节点A,B的最邻近的公共父节点
- 求二叉树中两个节点的最近公共父节点
- 求二叉树中两个节点的最低公共祖先
- 求二叉树中两个节点的最近公共祖先
- 求二叉树中两个节点的最近公共祖先
- 求二叉树中两个节点的最近公共祖先
- 求二叉树中两个节点的最低公共祖先
- 求二叉树中两个节点的最近公共祖先
- 求二叉树中两个节点的最近公共祖先
- 二叉树之递归求公共父节点
- 二叉树的最低公共父节点
- 二叉树的最低公共父节点
- 求二叉树中两个指定节点的最近公共父祖先
- 二叉树的公共节点
- 最短路问题总结
- 初学ucore操统笔记(1)
- P1190 繁忙的都市(Kruskal)
- 黑马程序员_IO流(三)
- Linux学习笔记(三)
- poj1330 求二叉树的公共父节点
- Erlang/OTP并发编程实例(二)
- 我做的仓库管理系统
- Java反射机制的缺点
- CC2530与zigbee学习笔记の初识zigbee(2)
- 第二章 HttpClient连接管理
- Apache中设置可以访问根目录,禁止访问子目录的方法
- 学习笔记之一shell脚本语法
- 生活随笔:程序员的自尊心和高傲、洁癖