nyoj498子節點計數

2021-06-27 15:15:29 字數 1190 閱讀 4054

時間限制:

1000 ms  |  記憶體限制:

65535 kb

難度:4 描述

給定一棵樹的前序和中序序列,求以指定關鍵字節點為根的子樹的節點個數。

輸入第一行包含乙個整數 t(t <= 20),表示有幾組測試資料;

每組測試資料第一行為整數 n( 1 <= n <= 50),表示樹的總結點數;接下來兩行為前序和中序序列;第三行有正整數 m( 1 <= m <= 30),表示有 m 條查詢; 最後 m 行有 m個整數,表示查詢以該整數為關鍵字的節點。

輸入保證前序和中序序列合法且任意兩個節點關鍵字不同。

輸出每組測試資料有 m 行,每行有乙個整數表示每條查詢的節點總數。

樣例輸入

1

523 2 67 59 98

2 23 59 67 98423

26759

樣例輸出

513

1

ac**:

#include#include#include#include#include#include#include#include#include#include#include#include#include#includeusing namespace std;

using namespace std;

int pre[51];

int in[51];

typedef struct tnode

*bt;

void creat(int pre1,int in1,int n,bt &b)

b=(bt)malloc(sizeof(struct tnode));

b->data=pre[pre1];

for(p=in1; plchild);

creat(pre1+k+1,p+1,n-k-1,b->rchild);

}int sum;

void pre_vis(bt b)

}void findbt(bt &b,int x)

if(b->data==x)

else

}int main()

{ int n;

cin>>n;

while(n--)

{int len;

cin>>len;

for(int i=0; i子節點計數

nyoj 萬聖節派對

萬聖節派對 描述 萬聖節有乙個party,xadillax顯然也要去湊熱鬧了。因為去湊熱鬧的人數非常龐大,幾十w的數量級吧,自然要進場就需要有門票了。很幸運的,xadillax竟然拿到了一張真 門票!這真 門票的排列規則有些奇怪 門票號是由0 6組成的六位數 0 6這幾個數字可重用 每乙個門票號的每...

nyoj 最長公共子串行

時間限制 3000 ms 記憶體限制 65535 kb 難度 3 描述咱們就不拐彎抹角了,如題,需要你做的就是寫乙個程式,得出最長公共子串行。tip 最長公共子串行也稱作最長公共子串 不要求連續 英文縮寫為lcs longest common subsequence 其定義是,乙個序列 s 如果分別...

NYOJ 733 萬聖節派對

nyoj 733 萬聖節派對 萬聖節有乙個party,xadillax顯然也要去湊熱鬧了。因為去湊熱鬧的人數非常龐大,幾十w的數量級吧,自然要進場就需要有門票了。很幸運的,xadillax竟然拿到了一張真 門票!這真 門票的排列規則有些奇怪 門票號是由0 6組成的六位數 0 6這幾個數字可重用 每乙...