這個題目第一眼看上去很像並查集,但是仔細分析可以發現,這個題目是利用已知條件構造森林然後對其中的關系進行查找。
題目的第一行的兩個輸入分別是所有的information的個數,第二個輸入是所有的quest的個數。
接下來的幾行是information,以ABC為例,B為A的parent,C為A的parent。根據這個關系,我們可以想到建立樹的方法:利用一維的數組存儲,然後數組中存放數組下標對應的子孫所在位置。那麼可以想到用stl中的map容器進行處理。
把森林(樹)構造完畢後,我們對所有的quest進行查詢。很自然就是順著child這個內容進行查找。下面函數的find就是實現這個功能。
PS:有一種很簡單的檢測程序對錯的測試辦法,記著二叉樹了沒?
#include
#include