CCF小白刷题之路---202006-2 稀疏向量(C/C++ 100分)

简介: CCF小白刷题之路---202006-2 稀疏向量(C/C++ 100分)

一、题目描述
image.png
image.png
image.png
image.png
二、代码如下

#include<iostream>
#include<bits/stdc++.h>
using namespace std;
//定义结构体,存向量的点
struct Node{
    long long index;
    long long value;
};

int main()
{
    long long n,a,b;
    cin>>n>>a>>b;
    Node A[a],B[b];
    for(int i=0;i<a;i++)
    {
        cin>>A[i].index>>A[i].value;
    }
    for(int i=0;i<b;i++)
    {
        cin>>B[i].index>>B[i].value;
    }
    long long sum = 0;
    //通过i和j来遍历两个向量
    long long i = 0 , j = 0;
    while(i<a && j<b)
    {
        //如果序号相等,进行乘法运算
        if(A[i].index==B[j].index)
        {
            sum += A[i].value * B[j].value;
            i++;
            j++;
        }
        //如果A的序号大于B,则A向后移动一个
        else if(A[i].index < B[j].index)
        {
            i++;
        }
        //如果B的序号大于A,则B向后移动一个
        else if(A[i].index > B[j].index)
        {
            j++;
        }
    }
    cout<<sum<<endl;
    return 0;
}
相关文章
|
7月前
|
算法 测试技术 C++
【动态规划】【矩阵快速幂】【滚动向量】C++算法552. 学生出勤记录 II
【动态规划】【矩阵快速幂】【滚动向量】C++算法552. 学生出勤记录 II
|
7月前
|
算法 测试技术 C#
【动态规划】【矩阵快速幂】【滚动向量】C++算法552. 学生出勤记录 II
【动态规划】【矩阵快速幂】【滚动向量】C++算法552. 学生出勤记录 II
|
5月前
|
C++ 容器
C++中向量的操作vector
C++中向量的操作vector
|
4月前
|
C++
C++ PCL 将一个点云投影到一个由法向量和点确定的平面
C++ PCL 将一个点云投影到一个由法向量和点确定的平面
118 0
|
4月前
|
传感器 算法 C++
C++ PCL 设置法向量的方向
C++ PCL 设置法向量的方向
87 0
|
6月前
|
算法 C++
【数据结构与算法】:关于时间复杂度与空间复杂度的计算(C/C++篇)——含Leetcode刷题-2
【数据结构与算法】:关于时间复杂度与空间复杂度的计算(C/C++篇)——含Leetcode刷题
|
6月前
|
算法 C++
【数据结构与算法】:关于时间复杂度与空间复杂度的计算(C/C++篇)——含Leetcode刷题-1
【数据结构与算法】:关于时间复杂度与空间复杂度的计算(C/C++篇)——含Leetcode刷题
|
7月前
|
C语言 C++
【C语言/C++】牛客网刷题训练-12
【C语言/C++】牛客网刷题训练-12
|
6月前
|
大数据 C++ 索引
C++ STL标准库 《vector向量原理与实战分析》
C++ STL标准库 《vector向量原理与实战分析》
57 0
|
6月前
|
C++
C++类的实例:一个向量类(Vector)
C++类的实例:一个向量类(Vector)