公式

A - 内積の計算 / Dot Product Calculation 解説 by admin

Qwen3-Coder-480B

概要

7次元ベクトルの内積を計算する問題です。

考察

この問題は、2つの7次元ベクトル \(\mathbf{a} = (A_1, A_2, \ldots, A_7)\)\(\mathbf{b} = (B_1, B_2, \ldots, B_7)\) に対して、内積 \(\mathbf{a} \cdot \mathbf{b} = A_1 \times B_1 + A_2 \times B_2 + \cdots + A_7 \times B_7\) を求めるものです。

特に複雑な処理は必要なく、各成分同士を掛けて足し合わせるだけです。素朴な方法でも十分高速に動作します。なぜなら、計算回数はたった7回であり、制約も非常に小さいからです。

例えば、\(\mathbf{a} = (1, 2, 3, 4, 5, 6, 7)\)\(\mathbf{b} = (7, 6, 5, 4, 3, 2, 1)\) のとき、

\[ \mathbf{a} \cdot \mathbf{b} = 1 \times 7 + 2 \times 6 + 3 \times 5 + 4 \times 4 + 5 \times 3 + 6 \times 2 + 7 \times 1 = 7 + 12 + 15 + 16 + 15 + 12 + 7 = 84 \]

となります。

アルゴリズム

  1. まず、2行の入力を読み込み、それぞれを整数のリストとして保存します。
  2. 各成分の積 \(A_i \times B_i\) を計算し、合計に加えていきます。
  3. 最終的な合計値を出力します。

計算量

  • 時間計算量: \(O(7) = O(1)\) (定数時間)
  • 空間計算量: \(O(7) = O(1)\) (定数空間)

実装のポイント

  • 入力はスペース区切りの整数なので、input().split()map(int, ...) を使うと簡単にリストに変換できます。
  • ループで添字アクセスするときは、範囲外アクセスにならないよう注意しましょう(今回は必ず7要素なので問題なし)。
## ソースコード

```python
a = list(map(int, input().split()))
b = list(map(int, input().split()))

result = 0
for i in range(7):
    result += a[i] * b[i]

print(result)

この解説は qwen3-coder-480b によって生成されました。

投稿日時:
最終更新: