#41083: 神馬BFS,我vecor炸開


seancai78@gmail.com (風月春秋)

學校 : 臺北市立成功高級中學
編號 : 176406
來源 : [140.113.124.212]
最後登入時間 :
2024-10-07 23:20:19
k862. 輩份比較 -- 板橋高中教學題 | From: [118.166.21.122] | 發表日期 : 2024-07-02 12:31

這是一個族譜,所有人都有一個共同祖宗,
如果輸入的父子有出現過,那就可以推算另一個人的輩分

但!有可能這組人還沒有出現過,所以要存起來

之後再反覆遍歷存起來的資料,一一加入,即可建立完整的人名與輩分值map
最後,再map相減二者的輩分值即可

以下提供vector的遍歷了方法

while (pre.size())
    {
        for (int i = 0; i < pre.size(); i++) {
            if(genealogy.find(pre[i])!=genealogy.end())
            {
                genealogy[post[i]] = genealogy[pre[i]]+1;
                pre.erase(pre.begin()+i);post.erase(post.begin()+i);
                break;
            }
            else if(genealogy.find(post[i])!=genealogy.end())
            {
                genealogy[pre[i]] = genealogy[post[i]]-1;
                pre.erase(pre.begin()+i);post.erase(post.begin()+i);
                break;
            }
        }
    }
 
ZeroJudge Forum