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

谢谢大家!

相关推荐
信奥胡老师15 小时前
B3930 [GESP202312 五级] 烹饪问题
开发语言·数据结构·c++·学习·算法
许长安15 小时前
Redis 跳表实现详解
数据库·c++·经验分享·redis·笔记·缓存
paeamecium15 小时前
【PAT甲级真题】- Shortest Distance (20)
数据结构·c++·算法·pat考试·pat
aisifang0015 小时前
GPT-Image2去偏见技术新突破
人工智能·算法·机器学习
吴可可12315 小时前
点在线上判定与多段线分割
算法·c#
REDcker15 小时前
C++循环与编译器优化详解 别名不变量向量化与GCC Clang验证及perf实践
java·jvm·c++·c·clang·gcc
不剪发的Tony老师15 小时前
Code::Blocks:一款免费开源的C/C++/Fortran集成开发环境
c语言·c++·ide
咩咦15 小时前
C++学习笔记10:auto关键字
c++·学习笔记·c++11·auto·类型推导
吴可可12315 小时前
圆弧多段线离散化采样密度优化
算法·c#
csuzhucong15 小时前
c++版本特性
开发语言·c++