CCF 202006-2 稀疏向量

2023-03-10,,

#include <iostream>
#include <bits/stdc++.h>
#include <string> using namespace std; typedef struct
{
int index;
long long int value;
}Point; vector<Point> u,v; bool cmp(Point a,Point b)
{
return (a.index<b.index);
} int main()
{
int a,b,n;
cin>>n>>a>>b;
Point temp;
while(a--)
{
cin>>temp.index>>temp.value;
u.push_back(temp);
}
while(b--)
{
cin>>temp.index>>temp.value;
v.push_back(temp);
}
sort(u.begin(),u.end(),cmp);sort(v.begin(),v.end(),cmp);
vector<Point>::iterator iteru = u.begin();
vector<Point>::iterator iterv = v.begin();
long long int sum=0;
while(iteru<=u.end()&&iterv<=v.end())
{
if((*iteru).index==(*iterv).index)
{
sum+=((*iteru).value)*((*iterv).value);
iteru++;iterv++;
}
else if((*iteru).index<(*iterv).index)
iteru++;
else
iterv++;
}
cout<<sum<<endl;
}

CCF 202006-2 稀疏向量的相关教程结束。

《CCF 202006-2 稀疏向量.doc》

下载本文的Word格式文档,以方便收藏与打印。