PID28 Stupid 愚蠢的寵物

2022-07-26 16:12:12 字數 931 閱讀 4937

題鏈:

題目描述

背景大家都知道,sheep有兩隻可愛的寵物(乙隻叫神牛,乙隻叫神菜)。有一天,sheep帶著兩隻寵物到狗狗家時,這兩隻可愛的寵物竟然迷路了……

描述狗狗的家因為常常遭到貓貓的攻擊,所以不得不把家裡前院的路修得非常複雜。狗狗家前院有n個連通的分叉結點,且只有n-1條路連線這n個節點,節點的編號是1-n(1為根節點)。sheep的寵物非常笨,他們只會向前走,不會退後(只向雙親節點走),sheep想知道他們最早什麼時候會相遇(即步數最少)。

n的範圍《=1000000

輸入格式

第1行:乙個正整數n,表示節點個數。

第2~n行:兩個非負整數a和b,表示a是b的雙親。(保證a,b<=n)

第n+1行:兩個非負整數a和b,表示兩隻寵物所在節點的位置。(保證a,b<=n)

輸出格式

輸出他們最早相遇的節點號。

因為只有一次詢問,所以算出這兩個節點到他們祖先節點的距離,然後列舉節點作為公共祖先即可

#include #include #include #include #include #include #include #include #define ll long long

#define inf 1000000000ll

#define mod 1000000007

using namespace std;

int read()

while(ch>='0'&&ch<='9')

return x*f;

}const int n=1000005;

int fa[n],dis1[n],dis2[n];

int main()

}printf("%d\n",id);

return 0;

}

rqnoj28 Stupid 愚蠢的寵物

題目描述 背景大家都知道,sheep有兩隻可愛的寵物 乙隻叫神牛,乙隻叫神菜 有一天,sheep帶著兩隻寵物到狗狗家時,這兩隻可愛的寵物竟然迷路了 描述狗狗的家因為常常遭到貓貓的攻擊,所以不得不把家裡前院的路修得非常複雜。狗狗家前院有n個連通的分叉結點,且只有n 1條路連線這n個節點,節點的編號是1...

題目 stupid 愚蠢的礦工

背景stupid 家族得知在hyc家的後花園裡的 花壇處,向北走3步,向西走3步,再向北走3步,向東走3步,再向北走6步,向東走3步,向南走12步,再向西走2步 就能找到寶藏的入口,而且寶藏都是藏在山里的,必須挖出來,於是stupid家族派狗狗帶領礦工隊去挖寶藏.hyc家的寶藏被狗狗挖走後有什麼感想...

PID28愚蠢的寵物(dfs 類似找最短公共祖先)

描述 狗狗的家因為常常遭到貓貓的攻擊,所以不得不把家裡前院的路修得非常複雜。狗狗家前院有n個連通的分叉結點,且只有n 1條路連線這n個節點,節點的編號是1 n 1為根節點 sheep的寵物非常笨,他們只會向前走,不會退後 只向雙親節點走 sheep想知道他們最早什麼時候會相遇 即步數最少 n的範圍 ...