問題一覧 > ネタ問題

No.3092 3-2-SAT

レベル : / 実行時間制限 : 1ケース 2.000秒 / メモリ制限 : 512 MB / スペシャルジャッジ問題 (複数の解が存在する可能性があります)
タグ : / 解いたユーザー数 46
作問者 : stoqstoq / テスター : KazunKazun
3 ProblemId : 7696 / 出題時の順位表 / 自分の提出
問題文最終更新日: 2022-02-13 02:49:05

問題文

全ての要素が $1,2,3$ のいずれかである長さ $N$ の数列 $(x_1,\dots,x_N)$ であって、 次の $M$ 個の条件 $1,\dots,M$ を全て満たすものが存在するか判定してください。

さらに存在する場合はその一例を示してください。

  • 条件 $i$ : $x_{p_i} = a_i$ と $x_{q_i} = b_i$ の少なくとも一方が成り立つ。

入力

$N\ M$
$p_1\ q_1\ a_1\ b_1$
...
$p_M\ q_M\ a_M\ b_M$

  • 入力は全て整数
  • $2 \leq N \leq 10^5$
  • $1 \leq M \leq 10^5$
  • $1 \leq p_i < q_i \leq N$
  • $1 \leq a_i\, b_i \leq 3$

出力

条件を全て満たす $(x_1,\dots,x_N)$ が存在するならば、そのうちの一つを空白区切りで出力してください。

存在しないならば-1を出力してください。

サンプル

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

条件は $(x_1=1 \vee x_2=2) \wedge (x_2 = 2 \vee x_3=1)$ です。 例えば $x_1=1,\ x_2=2,\ x_3=3$ は条件を満たします。

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