# 题目描述
小懒獭创造了一种独特的向量运算方式,她称之为 反向点积。反向点积是指将两个向量的元素按特定的方式反向相乘并求和。对于给定的两个长度相同的向量 和 ,小懒獭想知道它们的反向点积是多少。
具体来说,对于向量 和 ,小懒獭的反向点积定义为:
每次给定两个长度相同的向量 和 ,请帮助小懒獭计算它们的反向点积。
# 输入格式
不定组数据输入,保证不超过 组。
对于每组数据,第一行包含一个整数 (),表示两个向量的长度;第二行包含 个整数 ,表示向量 的元素;第三行包含 个整数 ,表示向量 的元素。保证向量的每个元素的值在 区间内。
# 输出格式
对于每组输入,输出一行一个整数,表示向量 和 的反向点积结果。
# 样例输入
3 | |
1 2 3 | |
4 5 6 | |
3 | |
1 -2 3 | |
-4 5 -6 |
# 样例输出
28 | |
-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; | |
} |