PTA 1002题目
解题思路
本题使用map STL容器储存指数和系数,由于题目限制指数最大为999,所以map大小最大为1000(其中还包括最开始的k)。
(也可以使用数组进行存储)
#include<iostream>
#include<map>
using namespace std;
int main(){
int k, n; //项数, 指数
double an; //系数
map<int, double> mp;
cin >> k;
for(int i = 0; i < k; i++){
cin >> n >> an;
mp[n] += an;
}
cin >> k;
for (int i = 0; i < k; i++){
cin >> n >> an;
mp[n] += an;
}
int size = 0;
for(int i = 0; i <= 1000; i++){
if(mp[i] != 0)
size++;
}
cout << size;
for (int i = 1000; i >= 0; i--){
if(mp[i]){
printf(" %d %.1f", i, mp[i]);
}
}
return 0;
}