uva7291 Kinfolk 最近公共祖先

2021-09-01 12:37:26 字數 613 閱讀 7501

輸入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,...