5 12 關於堆的判斷 25分

2021-07-29 11:37:19 字數 905 閱讀 7966

將一系列給定數字順序插入乙個初始為空的小頂堆h。隨後判斷一系列相關命題是否為真。命題分下列幾種:

每組測試第1行包含2個正整數n(\le

≤ 1000)和m(\le

≤ 20),分別是插入元素的個數、以及需要判斷的命題數。下一行給出區間[-10000, 10000][−

1000

0,10

000]

內的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沒有手寫過堆 不會寫...也可以用stl的heap來實現, 還是heap實現起來方便多了。

#includeusing namespace std;

vectorheap;

int n, m;

int find(int a)

int main(void )

getchar();

while(m--)

else if(q[q.length() - 1] == 's')

else

else if(temp[0] == 'a')}}

return 0;

}

關於堆的判斷(25 分)

關於堆的判斷 25 分 將一系列給定數字順序插入乙個初始為空的小頂堆h。隨後判斷一系列相關命題是否為真。命題分下列幾種 每組測試第1行包含2個正整數n 1000 和m 20 分別是插入元素的個數 以及需要判斷的命題數。下一行給出區間 10000,10000 內的n個要被插入乙個初始為空的小頂堆的整數...

9 11 堆 關於堆的判斷(25 分)

將一系列給定數字順序插入乙個初始為空的小頂堆h。隨後判斷一系列相關命題是否為真。命題分下列幾種 每組測試第1行包含2個正整數n 1000 和m 20 分別是插入元素的個數 以及需要判斷的命題數。下一行給出區間 內的n個要被插入乙個初始為空的小頂堆的整數。之後m行,每行給出乙個命題。題目保證命題中的結...

7 3 關於堆的判斷(25 分)

將一系列給定數字順序插入乙個初始為空的小頂堆h。隨後判斷一系列相關命題是否為真。命題分下列幾種 每組測試第1行包含2個正整數n 1000 和m 20 分別是插入元素的個數 以及需要判斷的命題數。下一行給出區間 10000,10000 內的n個要被插入乙個初始為空的小頂堆的整數。之後m行,每行給出乙個...