輸入a和b,和乙個字元,f表示女,m表示男,問b是a的什麼關係的親戚
用lca求出a和b的最近公共祖先lca,判斷a,b與lca相差的層數,根據層數判斷他們之間的關係,多於great-great-grand的關係輸出kin
**:
#include #include #include #include #include #include #include #include using namespace std;
typedef long long ll;
#define memset(a,n) memset(a,n,sizeof(n))
#define max 32767
struct node
nod[max+5];
void dfs(int n,int d)
int lca(int a,int b)
else
cout<
}else
cout<
cout<
}return 0;
}
Borrow Classroom 最近公共祖先
程式設計題 borrow classroom 每年的bnu校賽都會有兩次賽前培訓,為此就需要去借教室,由於sk同學忙於出題,這個事情就由小q同學來跑腿。sk同學準備從宿舍出發,把借教室的單子交給小q同學讓他拿去教務處蓋章,但是何老師突然發現sk同學好像借錯教室了,想搶在借教室的單子被送到教務處之前攔...
LeetCode 236 二叉樹的最近公共祖先
給定乙個二叉樹,找到該樹中兩個指定節點的最近公共祖先。說明 所有節點的值都是唯一的。p q 為不同節點且均存在於給定的二叉樹中。個人思路在於先求出root到兩個節點的路徑上所需要路過的節點,分別用vecleft和vecright來儲存,然後再找出兩個陣列中第乙個相同值,如下 definition f...
Leetcode 236 二叉樹的最近公共祖先
例如,給定如下二叉樹 root 3,5,1,6,2,0,8,null,null,7,4 示例 1 輸入 root 3,5,1,6,2,0,8,null,null,7,4 p 5,q 1 輸出 3 解釋 節點 5 和節點 1 的最近公共祖先是節點 3。示例 2 輸入 root 3,5,1,6,2,0,...