這題一開始以為是大模擬,但是看了別人以後的題解發現,有更好的解法。
我們可以觀察出,這個輸入順序決定了每個人的num-2個空格一定是他的父親,所以直接記錄就行,lca暴力跳就可以了,不用倍增。
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#define io ios::sync_with_stdio(false)
#define eps 1e-7
#define int long long
using
namespace std;
const string last=
"null"
;map<
int,string>mp1;
mapmp2;
int n,m;
string test;
signed
main()
//cout
substr
(num);if
(num==0)
else
}/*while(cin>>test)
else
}else
if(b[0]
=='a'
)//cout
(mp2[ss]
!=last)
else
}else
if(b[0]
=='s'
)else
}else
if(b[0]
=='d'
)//cout
(mp2[ss]
!=last)
else
}else
if(b[0]
=='p'
)else}}
}
PTA 家譜處理 資料結構
比賽的時候愣是用map string,int 的值代表了這個人所處家譜中的層次 後來借鑑了小明學長的思路,給每個人編id號,用值表示每個對應的id 用fa maxn 存的是每個人的父親id,fa id 父親的id 有乙個小問題,ac之後想關閉io同步提一波速,沒料到pta很玄學地直接給我返了wa?本...
PTA 冰島家譜
冰島是作為乙個人口稀少的國家,人群之間具有複雜的血緣關係,為了避免不必要的意外,他們的手機上都安裝了一款可以隨時查詢兩個人之間是否有血緣關係的軟體。現在你的任務就是實現這樣乙個功能,接收血緣關係的登記資訊,並在我們查詢時給出兩個人是否具有血緣關係。血緣關係具有自反性 傳遞性。一行整數n,以下n行,每...
家譜mysql mysql家譜表查詢某人所有後代
create table people id int 11 not null,name varchar 50 null default null,pid int 11 not null default 0 primary key id create definer root procedure ge...