PAT1002
#include <cstdio>
#include <algorithm>
#include <iostream>
using namespace std;
int main()
{
float a[1001]={0};
int index;
float num;
int n;
cin >> n;
for(int i=0;i<n;i++)
{
scanf("%d%f",&index,&num);
a[index]+=num;
}
cin >> n;
for(int i=0;i<n;i++)
{
scanf("%d%f",&index,&num);
a[index]+=num;
}
int count=0;
for(int i=0;i<1001;i++)
{
if(a[i]!=0)
count ++;
}
cout << count;
for(int i=1000;i>=0;i--)
{
if(a[i]!=0.0)
printf(" %d %.1f",i,a[i]);
}
return 0;
}
总结:
用数组和index存储值
a[index]+=val
scanf("%d%f",&index,&num);
printf(" %d %.1f",i,a[i]);// 最后一项后不应有空格,故应在前项调整空格。
题面:
where K is the number of nonzero terms in the polynomial, N i and a N i (i=1,2,⋯,K) are the exponents and coefficients, respectively
这部分没看懂,为什么多项式加减是指数×系数?