No.3275 Minesweeper on Graph
タグ : / 解いたユーザー数 59
作問者 : 👑
問題文
$N$ 頂点 $M$ 辺の単純無向グラフがあり、各頂点には $1$ から $N$ までの番号が振られています。
頂点 $U_k$ と頂点 $V_k$ $(1 \le k \le M)$ を双方向に結ぶ辺が張られています。
あなたは全ての頂点に対し $0$ 個または $1$ 個の地雷を埋めます。
次の条件を満たす地雷の埋め方が存在するか判定し、存在するならばその埋め方を $1$ つ提示してください。
- 頂点 $i \ (1 \le i \le N)$ について、隣接する頂点に埋められている地雷の個数は $A_i$ 個である。
ここで、頂点 $u$ と頂点 $v$ が隣接するとは、頂点 $u$ と頂点 $v$ を結ぶ辺が存在することを指します。
制約
- $1 \le N \le 16$
- $\displaystyle 0 \le M \le \frac{N (N - 1)}{2}$
- $0 \le A_i \le N - 1$
- $1 \le U_i, V_i \le N$
- 与えられるグラフは単純無向グラフである。
入力
入力は次の形式で与えられます。
$N$ $M$ $A_1$ $\ldots$ $A_N$ $U_1$ $V_1$ $\vdots$ $U_M$ $V_M$
出力
条件を満たす地雷の埋め方が存在しない場合、No
とのみ出力してください。
条件を満たす地雷の埋め方が存在し、それが頂点 $i \ (1 \le i \le N)$ に $X_i$ 個埋めることであるとします。
その場合、次の形式で出力してください。条件を満たす地雷の置き方が複数存在する場合、どれを提示しても正解と判定されます。
Yes $X_1$ $\ldots$ $X_N$
サンプル
サンプル1
入力
5 6 1 2 1 3 0 1 2 2 3 3 1 3 4 4 5 1 4
出力
Yes 1 0 1 0 1
地雷を頂点 $1$ 、頂点 $3$ 、頂点 $5$ に $1$ 個、頂点 $2$ 、頂点 $4$ に $0$ 個埋めると次のように条件を満たします。
- 頂点 $1$ は頂点 $2$ 、頂点 $3$ 、頂点 $4$ と隣接します。これらの頂点に埋められた地雷の個数の総和は $1$ です。
- 頂点 $2$ は頂点 $1$ 、頂点 $3$ と隣接します。これらの頂点に埋められた地雷の個数の総和は $2$ です。
- 頂点 $3$ は頂点 $1$ 、頂点 $2$ 、頂点 $4$ と隣接します。これらの頂点に埋められた地雷の個数の総和は $1$ です。
- 頂点 $4$ は頂点 $1$ 、頂点 $3$ 、頂点 $5$ と隣接します。これらの頂点に埋められた地雷の個数の総和は $3$ です。
- 頂点 $5$ は頂点 $4$ と隣接します。この頂点に埋められた地雷の個数の総和は $0$ です。
サンプル2
入力
4 3 1 1 1 0 1 2 2 3 3 1
出力
No
条件を満たす地雷の置き方は存在しません。
サンプル3
入力
6 15 4 4 5 4 4 4 1 2 1 3 1 4 1 5 1 6 2 3 2 4 2 5 2 6 3 4 3 5 3 6 4 5 4 6 5 6
出力
Yes 1 1 0 1 1 1
提出するには、Twitter 、GitHub、 Googleもしくは右上の雲マークをクリックしてアカウントを作成してください。