CCF-CSP真题202006-2《稀疏向量》

题目:

CCF-CSP真题202006-2《稀疏向量》_第1张图片

CCF-CSP真题202006-2《稀疏向量》_第2张图片

C语言解答:

需要注意的是:如果用数组来解这个题的话,是拿不到满分的,会显示运行超时,经过一番搜查学习,这种用结构体的形式会更好。

#include 

struct m{
	int a,b;
}u[500000],v[500000];

int main(){
	int n,a,b,i,j,k=0;
	long long int s=0;
	
	scanf("%d%d%d",&n,&a,&b);
	for(i=1;i<=a;i++){
		scanf("%d%d",&u[i].a,&u[i].b);
	}
	for(i=1;i<=b;i++){
		scanf("%d%d",&v[i].a,&v[i].b);
	}

	for(i=1;i<=a;i++){
		for(j=k;j<=b;j++){
			if(u[i].a==v[j].a){
				s=s+u[i].b*v[j].b;
				k=j+1;
				break;
			}
			if(u[i].a

运行结果:

你可能感兴趣的:(CCF-CSP真题,c语言,c++,算法,蓝桥杯)