一、题目
二、个人理解
Tips:
- 采用数组,索引(表示次数)对应结果
C++:
#include <iostream>
#include <cstring>
#include <cstdio>
using namespace std;
double a[1005];
int main()
{
memset(a,sizeof(double),0);//初始化为0
int count=0;//记录有效个数
for(int i=0; i<2; i++) {
int k;
cin>>k;
for(int j=0; j<k; j++) {
int temp1;
double temp2;
cin>>temp1>>temp2;
a[temp1]+=temp2;//在输入时即进行相同次数的系数相加
}
}
//统计有效个数
for(int i=1004; i>=0; i--) {
if(a[i]!=0) {
count++;
}
}
cout<<count;
//输出结果
for(int i=1004; i>=0; i--) {
if(a[i]!=0) {
printf(" %d %.1f",i,a[i]);
}
}
}