1. 程式人生 > >【CCF 201809-3】元素選擇器

【CCF 201809-3】元素選擇器

思路

①處理每一行:

每一行都處理為一個結構體,包含3個屬性:級別(rank)、元素名稱(element)、id名稱

級別 = 點的數量 / 2

元素名稱 & id名稱 都可以通過字串處理獲得,若無ID則為空

注意將元素名轉為小寫

②處理樹的結構:

對於每一個結點v,找到它的前驅結點u,即向上找到第一個u.rank = v.rank - 1

③處理查詢:

利用stringstream將幾個單詞儲存進vector,元素名稱全部改為小寫

1.若查詢只有一個單詞,則遍歷所有結構體查詢即可

2.若查詢有多個單詞,如div q p,則先找到p,然後向上依次查詢它的前驅結點,找到q,div

思路是100分,考場上寫過了,這裡就不想重複啦~