L2 012 關於堆的判斷(小頂堆)

2021-07-28 18:53:28 字數 1211 閱讀 1582

時間限制

400 ms

記憶體限制

65536 kb

**長度限制

8000 b

判題程式

standard

作者 陳越

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

輸入格式:

每組測試第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 using namespace std;

#define maxn 1100

int num[maxn];

int flag;

void adjust(int i, int n)

}else if(num[l] < num[r])}}

else if(l <= n)

}}int main()

if(!flag) break;}}

//for(int i = 1; i <= n; i++)

//printf("%d -- %d\n",num[i], i);

mapma;

for(int i = 1; i <= n; i++)

ma[num[i]] = i;

int u, v;

int id1, id2;

char str[1100],str1[1100];

while(m--)

else

else

else}}

}}

L2 012 關於堆的判斷 小頂堆(詳解)

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

L2 012 關於堆的判斷 (小頂堆的應用)

時間限制 400 ms 記憶體限制 65536 kb 長度限制 8000 b 判題程式 standard 作者 陳越 將一系列給定數字順序插入乙個初始為空的小頂堆h。隨後判斷一系列相關命題是否為真。命題分下列幾種 輸入格式 每組測試第1行包含2個正整數n 1000 和m 20 分別是插入元素的個數 ...

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 分別是插入元素的個數 ...