# 题目描述

小懒獭创造了一种独特的向量运算方式,她称之为 反向点积。反向点积是指将两个向量的元素按特定的方式反向相乘并求和。对于给定的两个长度相同的向量 AABB,小懒獭想知道它们的反向点积是多少。

具体来说,对于向量 A=(a0,a1,,,an1)A = (a_0, a_1, \cdots,, a_{n - 1})B=(b0,b1,,bn1)B = (b_0, b_1, \cdots, b_{n - 1}),小懒獭的反向点积定义为:

AB=a0×bn1+a1×bn2++an1×b0A \odot B = a_0 \times b_{n - 1} + a_1 \times b_{n - 2} + \cdots + a_{n - 1} \times b_0

每次给定两个长度相同的向量 AABB,请帮助小懒獭计算它们的反向点积。

# 输入格式

不定组数据输入,保证不超过 10001000 组。

对于每组数据,第一行包含一个整数 nn1n10001 \le n \le 1000),表示两个向量的长度;第二行包含 nn 个整数 A0,A1,,An1A_0, A_1, \cdots ,A_{n − 1},表示向量 AA 的元素;第三行包含 nn 个整数 B0,B1,,Bn1B_0, B_1 , \cdots , B_{n − 1},表示向量 BB 的元素。保证向量的每个元素的值在 [100,100][−100,100] 区间内。

# 输出格式

对于每组输入,输出一行一个整数,表示向量 AABB 的反向点积结果。

# 样例输入

3
1 2 3
4 5 6
3
1 -2 3
-4 5 -6

# 样例输出

28 
-28

# 样例解释

对于第一组样例,结果为 1×6+2×5+3×4=281 \times 6 + 2 \times 5 + 3 \times 4 = 28

对于第一组样例,结果为 1×(6)2×5+3×(4)=281 \times (−6) − 2 \times 5 + 3 \times (−4) = −28

# 题解:模拟

如题,按题意模拟即可。

代码示例:

#include <stdio.h>
int n, a[1010], b[1010];
int main()
{
    // freopen("A.in", "r", stdin);
    // freopen("A.out", "w", stdout);
    while (~scanf("%d", &n))
    {
        for (int i = 1; i <= n; ++ i)
            scanf("%d", &a[i]);
        
        for (int i = 1; i <= n; ++ i)
            scanf("%d", &b[i]);
        int ans = 0;
        
        for (int i = 1; i <= n; ++ i)
            ans += a[i] * b[n + 1 - i];
        printf("%d\n", ans);
    }
    return 0;
}