問題一覧 > 通常問題

No.3552 Triangular Coloring

レベル : / 実行時間制限 : 1ケース 2.000秒 / メモリ制限 : 1024 MB / スペシャルジャッジ問題 (複数の解が存在する可能性があります)
タグ : / 解いたユーザー数 28
作問者 : ぽえ / テスター : yimiya(いみや) 👑 loop0919 lif4635 ルク はるるん
ProblemId : 13285 / yukicoder contest 500 (順位表) / 自分の提出
問題文最終更新日: 2026-05-22 22:02:46
yukicoder contest 500の他の問題:

問題文

頂点数 $N$、辺数 $M$ の平面グラフが与えられる。
このグラフの辺で直接結ばれた頂点の色が異なる色になるように頂点を $1, 2, 3, 4$ のいずれかの色を用いて塗り分けられるか判定し、塗り分けられるならその方法を出力せよ。
ただし、グラフは以下の条件で生成されたものである。

  1. 頂点数 $3$ 辺数 $3$ の、頂点が互いに結ばれたグラフがある。はじめ、頂点に番号は振られていない。
  2. 次の操作を $N-3$ 回繰り返す。
    • グラフ内の三角形の面を一つ選ぶ。
    • 面の内側に点を一つ追加し、選んだ面の三つの頂点とそれぞれ辺で結ぶ。
  3. 頂点に $1$ から $N$ までの番号を振る。
三角形の面の定義(クリックで開く)

平面グラフの辺によって平面はいくつかの領域に分けられる。 この各領域を面と呼ぶ。ただし、外側に無限に広がる領域は外面と呼ぶ。
外面でない面のうち、境界が $3$ 本の辺からなるものを三角形の面と定義する。

制約

  • 入力はすべて整数である。
  • $3 \le N \le 2 \times 10^5$
  • $M = 3N - 6$
  • $1 \le u_i, v_i \le N$
  • 与えられたグラフは問題文の条件で生成されたものであることが保証される。

入力

入力は以下の形式で標準入力から与えられる。

$N$ $M$
$u_1$ $v_1$
$u_2$ $v_2$
$\vdots$
$u_M$ $v_M$

出力

条件を満たすような塗り分け方が存在しないとき No を出力せよ。
頂点 $v ~ (1 \leq v \leq N)$ を 色 $C_v$ で塗ることで条件を満たせるならば、以下の形式で出力せよ。

Yes
$C_1$ $C_2$ $\ldots$ $C_N$

解が複数存在する場合は、どれを出力しても正解となる。

サンプル

サンプル1
入力
5 9
1 2
2 3
3 1
1 4
2 4
3 4
1 5
2 5
3 5
出力
Yes
1 2 3 4 4

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