atcoder#AGC016E. [AGC016E] Poor Turkeys

[AGC016E] Poor Turkeys

配点 : 14001400

問題文

NN 羽の鳥がいます。 鳥には 11 から NN まで番号が振られています。

ここに MM 人の男性が一人ずつ順番に訪れます。 ii 番目に訪れる男性は次のような行動をします。

  • xix_i, yiy_i が両方とも生き残っている場合 : 鳥 xix_i, yiy_i の一方を等確率で選んで食べる。
  • xix_i, yiy_i の一方のみが生き残っている場合 : 生き残っている方の鳥を食べる。
  • xix_i, yiy_i がどちらも生き残っていない場合 : 何もしない。

次の条件を満たす (i, j)(i,\ j) (1i<jN1 \leq i < j \leq N) の組の個数を求めてください。

  • すべての男性が行動を終えた後、鳥 ii, jj が両方とも生き残っている確率が 00 より大きい。

制約

  • 2N4002 \leq N \leq 400
  • 1M1051 \leq M \leq 10^5
  • 1xi<yiN1 \leq x_i < y_i \leq N

入力

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

NN MM

x1x_1 y1y_1

x2x_2 y2y_2

::

xMx_M yMy_M

出力

条件を満たす (i, j)(i,\ j) (1i<jN1 \leq i < j \leq N) の組の個数を出力せよ。

3 1
1 2
2

(i, j)=(1, 3),(2, 3)(i,\ j) = (1,\ 3), (2,\ 3) が条件を満たします。

4 3
1 2
3 4
2 3
1

(i, j)=(1, 4)(i,\ j) = (1,\ 4) が条件を満たします。 鳥 11, 44 が両方とも生き残るのは、次のような場合です。

  • 11 番目の男性が鳥 22 を食べる。
  • 22 番目の男性が鳥 33 を食べる。
  • 33 番目の男性が何もしない。
3 2
1 2
1 2
0
10 10
8 9
2 8
4 6
4 9
7 8
2 8
1 8
3 4
3 4
2 7
5