【PAT甲级】1002 A+B for Polynomials (25 分)

题意:给出两个多项式,计算两个多项式的和,并以指数从大到小输出多项式的指数个数,指数和系数。

AAAAAccepted code:

 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 double a[1007];
 4 int main(){
 5     int k;
 6     cin>>k;
 7     int max_n=0;
 8     for(int i=1;i<=k;++i){
 9         int n;
10         cin>>n;
11         double x;
12         cin>>x;
13         a[n]+=x;
14         max_n=max(max_n,n);
15     }
16     cin>>k;
17     for(int i=1;i<=k;++i){
18         int n;
19         cin>>n;
20         double x;
21         cin>>x;
22         a[n]+=x;
23         max_n=max(max_n,n);
24     }
25     int cnt=0;
26     for(int i=0;i<=max_n;++i)
27         if(a[i])
28             cnt++;
29     cout<<cnt;
30     for(int i=max_n;i>=0;--i)
31         if(a[i])
32             printf(" %d %.1f",i,a[i]);
33     return 0;
34 }

 

 

 

posted @ 2019-07-15 21:18  sewage  阅读(156)  评论(0编辑  收藏  举报