L2 012 關於堆的判斷

2021-09-11 20:11:08 字數 1049 閱讀 7937

l2-012 關於堆的判斷 (25 分)

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

#define inf 0x3f3f3f3f

#define ll long long

int v[2005];

int main()

} //for(i=1;i<=n;i++) printf("%d ",v[i]);

while(m--)

if(x!=y&&x/2==y/2)f=0;

else f=1;

} else

if(x!=y&&(y*2==x||y*2+1==x)) f=0;

else f=1;

}else

else

if(x!=y&&(x*2==y||x*2+1==y)) f=0;

else f=1;}}

} if(f)printf("f\n");

else printf("t\n");

}}

L2 012 關於堆的判斷

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

L2 012 關於堆的判斷

題目 1.按題目要求先將傳進來的數按順序插入,每插入乙個新的元素就要從下向上調整,邊插入邊調整,不能全部插入後再從上到下調整。2.得到調整好的堆後,對輸入的指令字串進行分析,取出其中的數字,並判斷是題目所給的四類命題的哪一類 在這裡我採用按空格分幾個部分輸入字串的形式獲取字串中的數字 例如輸入 24...

L2 012 關於堆的判斷

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