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),分別是插入元素的個數、以及需要判斷的命題數。下一行給出區間[−10000,10000]內的n個要被插入乙個初始為空的小頂堆的整數。之後m行,每行給出乙個命題。題目保證命題中的結點鍵值都是存在的。
輸出格式:
對輸入的每個命題,如果其為真,則在一行中輸出t,否則輸出f。
輸入樣例:
5 446 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
輸出樣例:ft
ft題解數組建堆
**
#include
using
namespace std;
const
static
int inf=
10005
;struct heap
void
insert
(int val)
}int
top(
)int
getindex
(int val)
return0;
}int
getfather
(int val)};
vector
split
(const string &str,
const
char
&c)//分割字串
else
buff +
= n;}if
(buff !="")
vec.
push_back
(buff)
;return vec;
}int
main()
string cmd;
int len, p1, p2;
for(
int i=
0;i)else
if(vstr[len-1]
=="siblings"
)else
if(vstr[3]
=="parent"
)else
}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 分
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 分別是插入元素的個數 ...