PAT L2 012 關於堆的判斷 資料結構

2021-07-13 05:28:14 字數 591 閱讀 4621

題目本身不難,就是字串處理有點繁瑣。

但是有個巨坑!就是你必須得邊push邊造堆,不能一次性讀完再造堆,兩者造出來的順序是不一樣的!為此改了十多遍(累覺不愛)

這裡用了stl的make_heap,自己手寫也可以,不怎麼長。

#include 

#include

#include

#include

#include

#include

#include

using

namespace

std;

vector

heap;

int find(int a)

int main()

getchar();

while (m--)

else

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

else

}else

else

}else

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

else}}

}return

0;}

pat L2 012 關於堆的判斷(堆 輸入格式)

l2 012 關於堆的判斷 思路 就是建立乙個堆,然後找是否滿足4個條件就好了。觀察可知,這四個條件都是對座標關係的判斷,接下來我用pos x 表示x在堆中的位置。1 x是根節點 如果pos x 1 2 x和y是兄弟節點 pos x 2 pos y 2 3 x是y的父節點 pos x pos y 2...

L2 012 關於堆的判斷

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

L2 012 關於堆的判斷

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