CCFCSP试题编号:202006-2试题名称:稀疏向量

不断匹配相乘累加就好了

cpp 复制代码
#include<iostream>
#include<vector>
#include <utility>
using namespace std;

int main() {
	int n;
	int a, b;
	long long result=0; // 使用 long long  
	cin >> n >> a >> b;

	vector<pair<int, int> > u, v;
	int index, value;

	for (int i = 0; i < a; i++) {
		cin >> index >> value;
		u.push_back({ index, value });
	}

	for (int i = 0; i < b; i++) {
		cin >> index >> value;
		v.push_back({ index, value });
	}

	int i = 0, j = 0;
	while (i < a && j < b) {
		if (u[i].first == v[j].first) {
			result += u[i].second * v[j].second;
			i++; j++;
		}
		else if (u[i].first > v[j].first) {
			j++;
		}
		else {
			i++;
		}
	}

	cout << result << endl;

	return 0;
}

这里面用了pair,如果不了解的,可以看一下妾身这一篇C++中的pair

谢谢大家!

相关推荐
ValhallaCoder1 小时前
hot100-栈
数据结构·python·算法·
WW_千谷山4_sch5 小时前
洛谷B3688:[语言月赛202212]旋转排列(新解法:deque双端队列)
数据结构·c++·算法
Zachery Pole5 小时前
【代码随想录】二叉树
算法
漂流瓶jz6 小时前
UVA-11214 守卫棋盘 题解答案代码 算法竞赛入门经典第二版
c++·算法·dfs·aoapc·算法竞赛入门经典·迭代加深搜索·八皇后
浮生09196 小时前
DHUOJ 基础 88 89 90
算法
fpcc6 小时前
并行编程实战——CUDA编程的Enhancing Memory Allocation
c++·cuda
v_for_van6 小时前
力扣刷题记录7(无算法背景,纯C语言)
c语言·算法·leetcode
先做个垃圾出来………7 小时前
3640. 三段式数组 II
数据结构·算法
白太岁7 小时前
通信:(3) 高并发网络通信:epoll + 边沿触发 + 非阻塞 IO + tcp
c语言·网络·c++·网络协议·tcp/ip
楼田莉子7 小时前
C++项目:日志&&线程池
linux·c++·学习·visual studio code