易错点
题目要求输出非0的系数
但是非零并不等价于不在AB两个数组里
如果在AB两个数组里出现过,但运算后系数为0,仍不要输出
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int inf = ~0u >> 2;
const ll INF = ~0ull >> 2;
const int maxn = 1e3+1;
double a[maxn];
int b[maxn];
int main()
{
int t,n,ans = 0;
double an;
scanf("%d", &t);
while (t--)
{
scanf("%d%lf", &n, &an);
a[n] += an;
}
scanf("%d", &t);
while (t--)
{
scanf("%d%lf", &n, &an);
a[n] += an;
}
for (int i = 0; i < maxn; i++)
if (a[i] != 0)
ans++;
printf("%d", ans);
for (int i = maxn - 1; i >= 0; i--)
if (a[i] != 0)
printf(" %d %.1lf", i, a[i]);
return 0;
}