PAT甲级——1002 A+B for Polynomials

时间:2023-03-10 08:13:07
PAT甲级——1002 A+B for Polynomials

PATA1002 A+B for Polynomials

This time, you are supposed to find A+B where A and B are two polynomials.

Sample Input:
2 1 2.4 0 3.2
2 2 1.5 1 0.5
Sample Output:
3 2 1.5 1 2.9 0 3.2
#include<cstdio>
#include<iostream>
using namespace std;
int main()
{
	int k;
	int m,n,sum=0;
	double t;
	double a[2001]={};
	cin>>m;
	for(int i=0;i<m;i++)
	{
		scanf("%d %lf",&k,&t);
		a[k]+=t;
	}
	cin>>n;
	for(int i=0;i<n;i++)
	{
		scanf("%d %lf",&k,&t);
		a[k]+=t;
	}
	for(int j=0;j<1999;j++)
	{
		if(a[j]!=0)
		{
			sum++;
		}
	}
	cout << sum;
	for(int j=1999;j>=0;j--)
	{
		if(a[j]!=0)
		{
			printf(" %d %.1f",j,a[j]);
		}
	}
	return 0;
 }