Pat中两个多项式的题目(加减和乘法)我没考虑负数的情况,判断>0.0结果有个测试点一直过不去,后来看了柳神的题解幡然悔悟。。写个博客记录下提醒下自己。。
import java.text.DecimalFormat;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
double[] f1 = new double[1010];
double[] f2 = new double[1010];
double[] f3 = new double[2020];
int n = in.nextInt();
for(int i = 0; i<n; i++){
int index = in.nextInt();
f1[index] = in.nextDouble();
}
n = in.nextInt();
for(int i = 0; i<n; i++){
int index = in.nextInt();
f2[index] = in.nextDouble();
}
for(int i = 0; i<1010; i++){
if(f1[i]!=0.0){
for(int j = 0; j<1010; j++){
if(f2[j]!=0.0){
f3[i+j] += f1[i]*f2[j];
}
}
}
}
int cnt = 0;
for(int i = 2000; i>=0; i--){
if(f3[i]!=0.0)
cnt++;
}
System.out.print(cnt);
for(int i = 2000; i>=0; i--){
if(f3[i]!=0.0){
System.out.print(" "+i+" ");
System.out.printf("%.1f",f3[i]);
}
}
System.out.println();
}
}