No.2441 行列累乗
タグ : / 解いたユーザー数 132
作問者 : 👑 p-adic / テスター : t98slider
問題文
入力に 整数係数 $2$ 次正方行列 $M$ が与えられます。
$M^3$ を求めてください。
行列の掛け算について知らない人向けの説明はこちらです。(クリックで開く)
整数係数 $2$ 次正方行列は、大雑把に言うと整数を $2$ 行 $2$ 列に並べたデータとして表される概念です。例えば
$\displaystyle \left( \begin{array}{cc} \displaystyle 1 &\displaystyle 2 \\ \displaystyle 3 &\displaystyle 4 \end{array} \right) $
は整数係数 $2$ 次正方行列の例です。$2$ 個の整数係数 $2$ 次正方行列 $A$ と $B$ が与えられている時、それぞれを
$\displaystyle A = \left( \begin{array}{cc} \displaystyle \textcolor{red}{a} &\displaystyle \textcolor{red}{b} \\ \displaystyle \textcolor{blue}{c} &\displaystyle \textcolor{blue}{d} \end{array} \right), B = \left( \begin{array}{cc} \displaystyle \textcolor{magenta}{e} &\displaystyle \textcolor{purple}{f} \\ \displaystyle \textcolor{magenta}{g} &\displaystyle \textcolor{purple}{h} \end{array} \right) $
($\textcolor{red}{a},\textcolor{red}{b},\textcolor{blue}{c},\textcolor{blue}{d},\textcolor{magenta}{e},\textcolor{purple}{f},\textcolor{magenta}{g},\textcolor{purple}{h}$ は整数)と表すと、$A$ と $B$ の積 $AB$ が次式で定義されます。
$\displaystyle AB = \left( \begin{array}{cc} \displaystyle \textcolor{red}{a} \textcolor{magenta}{e} + \textcolor{red}{b} \textcolor{magenta}{g} &\displaystyle \textcolor{red}{a} \textcolor{purple}{f} + \textcolor{red}{b} \textcolor{purple}{h} \\ \displaystyle \textcolor{blue}{c} \textcolor{magenta}{e} + \textcolor{blue}{d} \textcolor{magenta}{g} &\displaystyle \textcolor{blue}{c} \textcolor{purple}{f} + \textcolor{blue}{d} \textcolor{purple}{h} \end{array} \right) $
実数の掛け算を用いて実数の正整数乗が定義されることと同様に、行列の掛け算を用いて行列の正整数乗も定義されます。具体的には、$M^2$ が $M$ と $M$ 自身の積 $MM$ として定義され、$M^3$ が $M^2$ と $M$ の積 $M^2 M$ として定義されます。この定義に従って $M^3$ を求めてください。
入力
$\displaystyle M = \left( \begin{array}{cc} \displaystyle M_{1,1} &\displaystyle M_{1,2} \\ \displaystyle M_{2,1} &\displaystyle M_{2,2} \end{array} \right) $
と表した時、入力は次の形式で標準入力から与えられます:
$M_{1,1}$ $M_{1,2}$ $M_{2,1}$ $M_{2,2}$
- $1$ 行目に $M_{1,1}, M_{1,2}$ が半角空白区切りで与えられます。
- $2$ 行目に $M_{2,1}, M_{2,2}$ が半角空白区切りで与えられます。
制約
入力は以下の制約を満たします:
- $M$ の各成分は $-100$ 以上 $100$ 以下の整数
出力
$\displaystyle M^3 = \left( \begin{array}{cc} \displaystyle N_{1,1} &\displaystyle N_{1,2} \\ \displaystyle N_{2,1} &\displaystyle N_{2,2} \end{array} \right) $
と表した時、以下の形式で出力してください:
$N_{1,1}$ $N_{1,2}$ $N_{2,1}$ $N_{2,2}$
- $1$ 行目に $N_{1,1}, N_{1,2}$ を半角空白区切りで出力してください。
- $2$ 行目に $N_{2,1}, N_{2,2}$ を半角空白区切りで出力してください。
最後に改行してください。
サンプル
サンプル1
入力
0 0 0 0
出力
0 0 0 0
$ \left( \begin{array}{cc} \displaystyle 0 &\displaystyle 0 \\ \displaystyle 0 &\displaystyle 0 \end{array} \right)^3 = \left( \begin{array}{cc} \displaystyle 0 &\displaystyle 0 \\ \displaystyle 0 &\displaystyle 0 \end{array} \right) $
です。
サンプル2
入力
1 0 0 1
出力
1 0 0 1
$ \left( \begin{array}{cc} \displaystyle 1 &\displaystyle 0 \\ \displaystyle 0 &\displaystyle 1 \end{array} \right)^3 = \left( \begin{array}{cc} \displaystyle 1 &\displaystyle 0 \\ \displaystyle 0 &\displaystyle 1 \end{array} \right) $
です。
サンプル3
入力
1 0 0 -1
出力
1 0 0 -1
$ \left( \begin{array}{cc} \displaystyle 1 &\displaystyle 0 \\ \displaystyle 0 &\displaystyle -1 \end{array} \right)^3 = \left( \begin{array}{cc} \displaystyle 1 &\displaystyle 0 \\ \displaystyle 0 &\displaystyle -1 \end{array} \right) $
です。
提出するには、Twitter 、GitHub、 Googleもしくは右上の雲マークをクリックしてアカウントを作成してください。