[AtCoder] ABC 088 C – Takahashi’s Information

問題

方針

連立方程式

問題文より、次の連立方程式が得られます。

\[
A = \begin{bmatrix}
1 & 0 & 0 & 1 & 0 & 0 \\
1 & 0 & 0 & 0 & 1 & 0 \\
1 & 0 & 0 & 0 & 0 & 1 \\
0 & 1 & 0 & 1 & 0 & 0 \\
0 & 1 & 0 & 0 & 1 & 0 \\
0 & 1 & 0 & 0 & 0 & 1 \\
0 & 0 & 1 & 1 & 0 & 0 \\
0 & 0 & 1 & 0 & 1 & 0 \\
0 & 0 & 1 & 0 & 0 & 1
\end{bmatrix}
,\ x = \begin{bmatrix}
a_1\\
a_2\\
a_3\\
b_1\\
b_2\\
b_3
\end{bmatrix}
,\ b = \begin{bmatrix}
c_{0, 0}\\
c_{0, 1}\\
c_{0, 3}\\
c_{1, 0}\\
c_{1, 1}\\
c_{1, 2}\\
c_{2, 0}\\
c_{2, 1}\\
c_{2, 2}
\end{bmatrix}
\]

\[ Ax = b\]
この連立方程式は、\( a_i + b_j = c_ {i, j}\) から得られます。この連立方程式が解を持つための条件は、係数行列 \( A \) と拡大係数行列 \( (A|b) \) のランクが一致することです。この内容は線形代数の連立方程式の部分で習うと思います。また、行列のランクは Python を使うと簡単に求めることができます。

コード

提出したコード