1009 Product of Polynomials
阿新 • • 發佈:2018-08-30
clu color int amp spa pro 大於 題目 include
題意:模擬多項式相乘
思路:略。有一個註意點,題目中說指數最大為1000,當兩個多項式相乘後,指數最大就為2000,這一點不註意會出現段錯誤。
代碼:
#include <cstdio> const int N=2005;//註意N必須大於等於2000,而不能是1000 struct Term{ double coe;//系數 int exp;//指數 }a[100],b[100]; int main() { //freopen("pat.txt","r",stdin); int ka,kb; scanf("%d",&ka); for(int i=0;i<ka;i++) scanf("%d%lf",&a[i].exp,&a[i].coe); scanf("%d",&kb); for(int i=0;i<kb;i++) scanf("%d%lf",&b[i].exp,&b[i].coe); double product[N]={0};//下標存放指數,對應的值代表系數 for(int i=0;i<ka;i++){ for(int j=0;j<kb;j++){ int exp=a[i].exp+b[j].exp; doublecoe=a[i].coe*b[j].coe; product[exp]+=coe; } } int len=0; for(int i=0;i<N;i++){ if(product[i]!=0) len++; } printf("%d",len); for(int i=N-1;i>=0;i--){ if(product[i]!=0) printf(" %d %.1f",i,product[i]); } return 0; }
1009 Product of Polynomials