ZJU PAT 1009

http://pat.zju.edu.cn/contests/pat-practise/1009

#include <stdio.h>
#include <cmath>
int N;
double Poly[2][1002],sPoly[2002];
int main()
{
   
    for(int i=0;i<2;i++){
        scanf("%d",&N);
        for(int j=0;j<N;j++){
            int a;
            double b;
            scanf("%d%lf",&a,&b);
            Poly[i][a]+=b;
        }
    }
    int i,j;
    for(i=1000;i>=0;i--)
        for(j=1000;j>=0;j--){
            if(fabs(Poly[0][i])>1e-5&&fabs(Poly[1][j])>1e-5)
                sPoly[i+j]+=Poly[0][i]*Poly[1][j];
        }
    int m=0;
    for(i=2000;i>=0;i--){
        if(fabs(sPoly[i])>1e-5)
            m++;
    }
    printf("%d",m);
    for(i=2000;i>=0;i--){
        if(fabs(sPoly[i])>1e-5)
            printf(" %d %.1lf",i,sPoly[i]);
    }
    putchar('\n');

}


           

原文地址:https://www.cnblogs.com/yangce/p/2215056.html