1002 A+B for Polynomials
水题~
最好是把得到所有的幂放在一个数组里,然后排序去重,不过这题的幂最大只有1000,所以这么写了。
一开始没看到保留一位小数,wa了一发,难受。
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
#include <iostream> #include <cstring> #include <string> #include <sstream> #include <string> #include <cstdio> #include <algorithm> #include <vector> #define maxn 1005 #define INF 0x3f3f3f3f #define EPS 1e-6 #define pi acos(-1.0) using namespace std; typedef long long ll; int k,n; int b[maxn]; double x; double a[maxn]; int main() { memset(a,0,sizeof(a)); int maxx=0; cin>>k; for(int i=0;i<k;i++) { cin>>n>>x; a[n]=x; if(n>maxx) maxx=n; } cin>>k; for(int i=0;i<k;i++) { cin>>n>>x; a[n]+=x; if(n>maxx) maxx=n; } int ans=0; for(int i=maxx;i>=0;i--) { if(a[i]) { b[ans]=i; ans++; } } cout<<ans; for(int i=0;i<ans;i++) { printf(" %d %.1lf",b[i],a[b[i]]); } cout<<endl; return 0; }