1002 A+B for Polynomials - 模擬
阿新 • • 發佈:2018-11-09
思路:普通模擬一下就ok
程式碼如下:
#include<iostream> #include<cstdio> #include<algorithm> #include<string> #include<cstring> #include<queue> #include<cmath> #include<set> #define ll long long using namespace std; const int N=1005,mod=1e9+7; double a1[N],a2[N],ans[N]; int main(){ int k1,k2,n; double a; memset(a1,0,sizeof(a1)); memset(a2,0,sizeof(a2)); scanf("%d",&k1); int max1=0,max2=0; for(int i=1;i<=k1;i++){ scanf("%d%lf",&n,&a); max1=max(max1,n); a1[n]=a; } scanf("%d",&k2); for(int i=1;i<=k2;i++){ scanf("%d%lf",&n,&a); a2[n]=a; max2=max(max2,n); } int k=max(max1,max2); int num=0; for(int i=0;i<=k;i++){ if(a1[i]==0&&a2[i]==0)continue; ans[i]=a1[i]+a2[i]; if(ans[i])num++; } printf("%d",num); for(int i=k;i>=0;i--){ if(ans[i]){ printf(" %d %.1f",i,ans[i]); } } printf("\n"); }