AT_abc319_c [ABC319C] False Hope
Description
[problemUrl]: https://atcoder.jp/contests/abc319/tasks/abc319_c
$ 3\times3 $ のマス目に $ 1 $ から $ 9 $ までの数字が書き込まれており、上から $ i $ 行目、左から $ j $ 列目 $ (1\leq\ i\leq3,1\leq\ j\leq3) $ に書き込まれている数字は $ c\ _\ {i,j} $ です。
異なるマスに同じ数字が書き込まれている場合もありますが、同じ数字が縦・横・斜めに $ 3 $ つ連続して書き込まれていることはありません。 より厳密には、$ c\ _\ {i,j} $ について次の条件のすべてが成り立っていることが保証されます。
- どの $ 1\leq\ i\leq3 $ についても、$ c\ _\ {i,1}=c\ _\ {i,2}=c\ _\ {i,3} $ ではない
- どの $ 1\leq\ j\leq3 $ についても、$ c\ _\ {1,j}=c\ _\ {2,j}=c\ _\ {3,j} $ ではない
- $ c\ _\ {1,1}=c\ _\ {2,2}=c\ _\ {3,3} $ ではない
- $ c\ _\ {3,1}=c\ _\ {2,2}=c\ _\ {1,3} $ ではない
高橋くんは、それぞれのマスに書かれている数字をランダムな順番で知ります。 高橋くんは、縦・横・斜めの列のうちの $ 1 $ つでも次の条件を満たしたとき**がっかり**します。
- はじめに知ったほうの $ 2 $ マスに書かれた数字が同じであり、最後に知ったマスに書かれた数字がそれと異なる。
高橋くんががっかりせずにすべてのマスに書かれた数字を知る確率を求めてください。
Input Format
入力は以下の形式で標準入力から与えられる。
> $ 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} $
Output Format
高橋くんががっかりせずにすべてのマスに書かれた数字を知る確率を $ 1 $ 行で出力せよ。 真の値からの絶対誤差が $ 10\ ^\ {-8} $ 以下であるとき、正答と判定される。
Explanation/Hint
### 制約
- $ 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} $ ではない $ (1\leq\ i\leq3) $
- $ c\ _\ {1,j}=c\ _\ {2,j}=c\ _\ {3,j} $ ではない $ (1\leq\ j\leq3) $
- $ c\ _\ {1,1}=c\ _\ {2,2}=c\ _\ {3,3} $ ではない
- $ c\ _\ {1,3}=c\ _\ {2,2}=c\ _\ {3,1} $ ではない
### Sample Explanation 1
例えば、高橋くんが $ 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} $ の順に数字を知った場合、がっかりすることなくすべての数字を知ることができます。 高橋くんががっかりすることなくすべての数字を知ることができる確率は $ \dfrac\ 23 $ です。 絶対誤差が $ 10\ ^\ {-8} $ 以下であれば正答と判定されるため、$ 0.666666657 $ や $ 0.666666676 $ のように出力しても正解になります。