简单的模拟问题,按照题意一步一步写就好
只要stl用的熟练,这道题非常简单,实在不建议用纯C,这道题就是一个好例子。
#include<stdio.h>
#include<iostream>
#include<set>
using namespace std;
int main(){
float coefficients[1001]={0};
int N;
cin >> N;
set<int> s;
for(int i=0;i<N;i++){//指数做index
int temp;
cin >> temp;
cin >> coefficients[temp];
s.insert(temp);
}
cin >> N;
for(int i=0;i<N;i++){
int temp;
cin >> temp;
float temp1;
cin >> temp1;
coefficients[temp]+=temp1;
if(coefficients[temp]==0) s.erase(temp);
else s.insert(temp);
}
printf("%d",s.size());
for(int i=1000;i>=0;i--){
if(coefficients[i]!=0)
printf(" %d %.1f",i,coefficients[i]);
}
return 0;
}