問題一覧 > 通常問題

No.2205 Lights Out on Christmas Tree

レベル : / 実行時間制限 : 1ケース 2.000秒 / メモリ制限 : 512 MB / 標準ジャッジ問題
タグ : / 解いたユーザー数 92
作問者 : srjywrdnprkt / テスター : 👑 seekworser
3 ProblemId : 9096 / 出題時の順位表 / 自分の提出
問題文最終更新日: 2023-02-02 21:32:16

問題文

11からNNまでの番号がついたNN個の頂点からなる木が与えられます。ii番目の辺は頂点aia_iと頂点bib_iを結んでいます。
また、各頂点は白か黒のいずれかの色で塗られており、頂点iiの色はcic_iです。ただし、ci=0c_i=0は白を、ci=1c_i=1は黒を表します。
あなたは以下の操作を0回以上何度でも行えます。全ての頂点の色を黒にすることができるか判定し、可能な場合は必要な操作回数の最小値を求めてください。

(操作)
1iN11\leq i \leq N-1を満たすiiを一つ選び、頂点aia_iと頂点bib_iの色をそれぞれ反転させる。すなわち、頂点の色が黒ならば白に、白ならば黒に変える。

入力

NN
a1 b1a_1~b_1
\vdots
aN1 bN1a_{N-1}~b_{N-1}
c1  cNc_1~\cdots~c_N

入力は全て整数で以下の制約を満たす。

  • 2N2×1052\leq N \leq 2\times 10^5
  • 1ai<biN1\leq a_i < b_i \leq N
  • iji\neq jならば(ai,bi)(aj,bj)(a_i, b_i)\neq(a_j, b_j)
  • cic_iは0または1

出力

全ての頂点の色を黒にするために必要な操作回数の最小値を出力してください。
ただし、何度操作を行なっても全ての頂点の色を黒にできないならば-1を出力してください。
最後に改行してください。

サンプル

サンプル1
入力
3
1 2
2 3
0 1 0
出力
2

まず辺1に対して操作を行い、その後、辺2に対して操作を行います。すると、各頂点の色は(0,1,0)(1,0,0)(1,1,1)(0, 1, 0)\to(1, 0, 0)\to(1, 1, 1)と変化します。
1回以下の操作で全ての頂点の色を黒にすることはできないので2が答えです。

サンプル2
入力
3
1 2
2 3
1 0 1
出力
-1

何度操作を行なっても全ての頂点の色を黒にすることはできません。

サンプル3
入力
10
1 4
3 5
5 9
8 10
5 7
1 3
4 10
2 9
6 9
1 0 0 0 1 0 0 0 1 1
出力
6

提出するには、Twitter 、GitHub、 Googleもしくは右上の雲マークをクリックしてアカウントを作成してください。