L2 012 關於堆的判斷 25 分

2021-09-26 08:27:17 字數 1120 閱讀 4882

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),分別是插入元素的個數、以及需要判斷的命題數。下一行給出區間[−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

這道題很簡單,關鍵點在於如何確定輸入中具體讓幹的是什麼,由於採用cin輸入是,每次唯讀乙個單詞,所以可以很方便處理該問題,scanf("%s")其實也可以,但是如果是採用這種方式輸入到字元陣列中的話,比較時需要用到strcmp()函式,較為麻煩,不如直接採用cin讀入到字串中,比較時可以直接採用=,極為方便。事實上sscanf也可以,具體做法這裡不再贅述。

#includeusing namespace std;

int h[1005],size;

int find(int x);

int main()

h[j]=t;

} for(int i=0;i>x;

string str;

cin>>str;

if(str=="and")

else

else

cout<<"f\n";

}else

else

}} }

}int find(int x)

return 0;

}

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...