L2 012 關於堆的判斷 25分

2021-10-10 21:40:20 字數 1036 閱讀 2002

每組測試第1行包含2個正整數n(≤ 1000)和m(≤ 20),分別是插入元素的個數、以及需要判斷的命題數。下一行給出區間[−10000,10000]內的n個要被插入乙個初始為空的小頂堆的整數。之後m行,每行給出乙個命題。題目保證命題中的結點鍵值都是存在的。

對輸入的每個命題,如果其為真,則在一行中輸出t,否則輸出f

5 4

46 23 26 24 10

24 is the root

26 and 23 are siblings

46 is the parent of 23

23 is a child of 10

ftf

t

#include

#include

#include

#include

#include

#include

#include

using namespace std;

int n,m,x;

int heap[

1001];

vector<

int> a;

map<

int,

int> mp;

intmain()

for(

int i=

0;i)for

(int i=

1;i<=n;i++

) mp[heap[i]

]=i;

int x,y;

string s;

for(

int i=

0;i)else

else

if(s[0]

=='p'

)else

if(s[0]

=='c')}

}return0;

}

L2 012 關於堆的判斷 (25 分)

x is the root x是根結點 x and y are siblings x和y是兄弟結點 x is the parent of y x是y的父結點 x is a child of y x是y的乙個子結點。輸入格式 每組測試第1行包含2個正整數n 1000 和m 20 分別是插入元素的個數 ...

L2 012 關於堆的判斷 (25 分)

l2 012 關於堆的判斷 25 分 每組測試第1行包含2個正整數n 1000 和m 20 分別是插入元素的個數 以及需要判斷的命題數。下一行給出區間 10000,10000 內的n個要被插入乙個初始為空的小頂堆的整數。之後m行,每行給出乙個命題。題目保證命題中的結點鍵值都是存在的。對輸入的每個命題...

L2 012 關於堆的判斷 (25 分

l2 012 關於堆的判斷 25 分 x is the root x是根結點 x and y are siblings x和y是兄弟結點 x is the parent of y x是y的父結點 x is a child of y x是y的乙個子結點。輸入格式 每組測試第1行包含2個正整數n 100...