1 条题解

  • 0
    @ 2026-10-7 20:01:09

    大白话思路

    先读两个同长向量,把同一位置上的两个数字相乘,所有乘积加起来就是点积。只相加或者把不同位置错配都会错误。时间 O(n),存储第一个向量需要 O(n) 空间。

    C++17 标准解

    #include<iostream>
    using namespace std;
    int main()
    {
    	int n;
        int a[1001],b[1001];
        int result=0;
        int i;
        
        cin>>n;//输入整数n
        
        for(i=1;i<=n;i++)//输入向量ai
           cin>>a[i];
        for(i=1;i<=n;i++)//输入向量bi
           cin>>b[i];
    	for(i=1;i<=n;i++)//计算向量点积
           result+=a[i]*b[i];
    
        cout<<result<<endl;
        return 0;
    }
    

    来源:HEEKDragonOne/ACM,一本通 1108;固定提交 29b5b378f6257c2d9ba99452d0f5b770a26c826c。仅赛后开放。

    信息

    ID
    1004
    时间
    1000ms
    内存
    128MiB
    难度
    6
    标签
    递交数
    26
    已通过
    12
    上传者