https://www.patest.cn/contests/pat-a-PRactise/1009
#include <cstdio>#include <iostream>#include <cstring>using namespace std;const int N = 1001;double a[N],b[N],c[2*N];int main() { int n; scanf("%d",&n); int index; double val; for (int i = 0; i < n; i++) { scanf("%d %lf",&index,&val); a[index] = val; } scanf("%d",&n); for (int i = 0; i < n; i++) { scanf("%d %lf",&index,&val); b[index] = val; } for (int i = 0; i < N; i++) { for (int j = 0; j < N; j++) { c[i+j] += a[i]*b[j]; } } int cnt = 0; for (int i = 0; i < 2*N; i++) { if (c[i]) cnt++; } printf("%d",cnt); for (int i = 2*N - 1; i >= 0; i--) { if (c[i]) printf(" %d %.1f",i,c[i]);//pay attention :double类型的数据输入是%lf,输出是%f } return 0;}
新闻热点
疑难解答