#894. False Hope

False Hope

题面翻译

现在有一个 3×33 \times 3 的方格 cc,每一个格子中有一个元素,但是刚开始你不知道所有方格中权值的情况。

现在你将要进行 99 次操作,每一操作你将要选择一个没有被翻开的位置。

如果在某一次操作中,有一行或一列或一对角线上,恰好有两个格子被翻开,且两个格子的权值相同,那么你就会感到失望。

求:最终翻完所有格子,且不失望的概率。

translate by WaterSun

题目描述

3×3 3\times3 のマス目に 1 1 から 9 9 までの数字が書き込まれており、上から i i 行目、左から j j 列目 (1 i3,1 j3) (1\leq\ i\leq3,1\leq\ j\leq3) に書き込まれている数字は c  i,j c\ _\ {i,j} です。

異なるマスに同じ数字が書き込まれている場合もありますが、同じ数字が縦・横・斜めに 3 3 つ連続して書き込まれていることはありません。 より厳密には、c  i,j c\ _\ {i,j} について次の条件のすべてが成り立っていることが保証されます。

  • どの 1 i3 1\leq\ i\leq3 についても、c  i,1=c  i,2=c  i,3 c\ _\ {i,1}=c\ _\ {i,2}=c\ _\ {i,3} ではない
  • どの 1 j3 1\leq\ j\leq3 についても、c  1,j=c  2,j=c  3,j c\ _\ {1,j}=c\ _\ {2,j}=c\ _\ {3,j} ではない
  • c  1,1=c  2,2=c  3,3 c\ _\ {1,1}=c\ _\ {2,2}=c\ _\ {3,3} ではない
  • c  3,1=c  2,2=c  1,3 c\ _\ {3,1}=c\ _\ {2,2}=c\ _\ {1,3} ではない

高橋くんは、それぞれのマスに書かれている数字をランダムな順番で知ります。 高橋くんは、縦・横・斜めの列のうちの 1 1 つでも次の条件を満たしたときがっかりします。

  • はじめに知ったほうの 2 2 マスに書かれた数字が同じであり、最後に知ったマスに書かれた数字がそれと異なる。

高橋くんががっかりせずにすべてのマスに書かれた数字を知る確率を求めてください。

输入格式

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

c  1,1 c\ _\ {1,1} c  1,2 c\ _\ {1,2} c  1,3 c\ _\ {1,3} c  2,1 c\ _\ {2,1} c  2,2 c\ _\ {2,2} c  2,3 c\ _\ {2,3} c  3,1 c\ _\ {3,1} c  3,2 c\ _\ {3,2} c  3,3 c\ _\ {3,3}

输出格式

高橋くんががっかりせずにすべてのマスに書かれた数字を知る確率を 1 1 行で出力せよ。 真の値からの絶対誤差が 10  8 10\ ^\ {-8} 以下であるとき、正答と判定される。

样例 #1

样例输入 #1

3 1 9
2 5 6
2 7 1

样例输出 #1

0.666666666666666666666666666667

样例 #2

样例输入 #2

7 7 6
8 6 8
7 7 6

样例输出 #2

0.004982363315696649029982363316

样例 #3

样例输入 #3

3 6 7
1 9 7
5 7 5

样例输出 #3

0.4

提示

制約

  • $ c\ _\ {i,j}\in\lbrace1,2,3,4,5,6,7,8,9\rbrace\ (1\leq\ i\leq3,1\leq\ j\leq3) $
  • c  i,1=c  i,2=c  i,3 c\ _\ {i,1}=c\ _\ {i,2}=c\ _\ {i,3} ではない (1 i3) (1\leq\ i\leq3)
  • c  1,j=c  2,j=c  3,j c\ _\ {1,j}=c\ _\ {2,j}=c\ _\ {3,j} ではない (1 j3) (1\leq\ j\leq3)
  • c  1,1=c  2,2=c  3,3 c\ _\ {1,1}=c\ _\ {2,2}=c\ _\ {3,3} ではない
  • c  1,3=c  2,2=c  3,1 c\ _\ {1,3}=c\ _\ {2,2}=c\ _\ {3,1} ではない

Sample Explanation 1

例えば、高橋くんが c  3,1=2,c  2,1=2,c  1,1=3 c\ _\ {3,1}=2,c\ _\ {2,1}=2,c\ _\ {1,1}=3 の順に知った場合、高橋くんはがっかりしてしまいます。 ![](https://img.atcoder.jp/abc319/d4635a227bbb8db7143f4bbee77a9979.png) 対して、高橋くんが $ c\ _\ {1,1},c\ _\ {1,2},c\ _\ {1,3},c\ _\ {2,1},c\ _\ {2,2},c\ _\ {2,3},c\ _\ {3,1},c\ _\ {3,2},c\ _\ {3,3} $ の順に数字を知った場合、がっかりすることなくすべての数字を知ることができます。 高橋くんががっかりすることなくすべての数字を知ることができる確率は  23 \dfrac\ 23 です。 絶対誤差が 10  8 10\ ^\ {-8} 以下であれば正答と判定されるため、0.666666657 0.666666657 0.666666676 0.666666676 のように出力しても正解になります。