BFS トラバーサルの正当性を確認する

サイクルを含まないグラフ(木)として頂点数が n の木が与えられており、BFS アルゴリズムによる訪問順序が示されています。このとき、その訪問順序が実際にあり得るかどうかを判定する問題です。

アルゴリズムは常に頂点 1 から開始し、近接する頂点を特定の順番ではなく任意の順番で探索します。与えられた木に対してその訪問順序が可能であれば Yes、そうでなければ No を出力してください。

なお、木は必ず n-1 本の辺を持つことを思い出してください。

入力

最初の行には整数 n (1 ≤ n ≤ 100000) が与えられます。

続く n-1 行には、それぞれ (1 ≤ ≤ n) という形式で辺が与えられます。

その後の行には、BFS アルゴリズムの訪問順序を表す n 個の整数 (1 ≤ ≤ n) が空白区切りで与えられます。

出力

与えられたシナリオが成立する場合は Yes、そうでない場合は No を出力してください。

入力

出力

4
1 2
1 3
2 4
1 2 3 4

Yes

4
1 2
1 3
2 4
1 2 4 3

No

Constraints

Time limit: 4 seconds

Memory limit: 512 MB

Output limit: 1 MB

To check your solution you need to sign in
Sign in to continue