時間限制:
1000 ms | 記憶體限制:
65535 kb
難度:4 描述
給定一棵樹的前序和中序序列,求以指定關鍵字節點為根的子樹的節點個數。
輸入第一行包含乙個整數 t(t <= 20),表示有幾組測試資料;
每組測試資料第一行為整數 n( 1 <= n <= 50),表示樹的總結點數;接下來兩行為前序和中序序列;第三行有正整數 m( 1 <= m <= 30),表示有 m 條查詢; 最後 m 行有 m個整數,表示查詢以該整數為關鍵字的節點。
輸入保證前序和中序序列合法且任意兩個節點關鍵字不同。
輸出每組測試資料有 m 行,每行有乙個整數表示每條查詢的節點總數。
樣例輸入
1523 2 67 59 98
2 23 59 67 98423
26759
樣例輸出
5131
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這幾個數字可重用 每乙...