問題一覧 > 教育的問題

No.2441 行列累乗

レベル : / 実行時間制限 : 1ケース 2.000秒 / メモリ制限 : 512 MB / 標準ジャッジ問題
タグ : / 解いたユーザー数 132
作問者 : 👑 p-adicp-adic / テスター : t98slidert98slider
1 ProblemId : 9645 / 出題時の順位表 / 自分の提出
問題文最終更新日: 2023-08-25 10:19:48

問題文

入力に 整数係数 $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もしくは右上の雲マークをクリックしてアカウントを作成してください。