L2 2 冰島人 (25 分

2021-09-19 09:05:42 字數 1366 閱讀 3659

2023年世界盃,冰島隊因1:1平了強大的阿根廷隊而一戰成名。好事者發現冰島人的名字後面似乎都有個「松」(son),於是有網友科普如下:

輸入首先在第一行給出乙個正整數 n(1隨後一行給出正整數 m,為查詢數量。隨後 m 行,每行給出一對人名,格式為:名1 姓1 名2 姓2。注意:這裡的是不帶字尾的。四個字串均由不超過 20 個小寫的英文本母組成。

題目保證不存在兩個人是同名的。

對每乙個查詢,根據結果在一行內顯示以下資訊:

所謂「五代以內無公共祖先」是指兩人的公共祖先(如果存在的話)必須比任何一方的曾祖父輩分高。

15

chris smithm

adam smithm

bob adamsson

jack chrissson

bill chrissson

mike jacksson

steve billsson

tim mikesson

april mikesdottir

eric stevesson

tracy timsdottir

james ericsson

patrick jacksson

robin patricksson

will robinsson

6tracy tim james eric

will robin tracy tim

april mike steve bill

bob adam eric steve

tracy tim tracy tim

x man april mikes

yes

nono

whatever

whatever

na

#includeusing namespace std;

struct peoson

;mappeople;

int judge(string a,string b)

}return 1;

}int main()

; else if (b.back() == 'r') //女兒

people[a] = ;

else people[a].*** = b.back(); //其他人

} cin >> m;

for (int i = 0; i < m; i++)

return 0;

}

L2 030 冰島人 25分

輸入格式 輸入首先在第一行給出乙個正整數 n 1隨後一行給出正整數 m,為查詢數量。隨後 m 行,每行給出一對人名,格式為 名1 姓1 名2 姓2。注意 這裡的姓是不帶字尾的。四個字串均由不超過 20 個小寫的英文本母組成。題目保證不存在兩個人是同名的。輸出格式 對每乙個查詢,根據結果在一行內顯示以...

L2 030 冰島人 25分

2018年世界盃,冰島隊因1 1平了強大的阿根廷隊而一戰成名。好事者發現冰島人的名字後面似乎都有個 松 son 於是有科普如下 輸入首先在第一行給出乙個正整數 n 1隨後一行給出正整數 m,為查詢數量。隨後 m 行,每行給出一對人名,格式為 名1 姓1 名2 姓2。注意 這裡的姓是不帶字尾的。四個字...

L2 2 小字輩 (25 分)

本題給定乙個龐大家族的家譜,要請你給出最小一輩的名單。輸入在第一行給出家族人口總數 n 不超過 100 000 的正整數 簡單起見,我們把家族成員從 1 到 n 編號。隨後第二行給出 n 個編號,其中第 i 個編號對應第 i 位成員的父 母。家譜中輩分最高的老祖宗對應的父 母編號為 1。一行中的數字...