完成多项式加法运算

每行第一个数表示本行有几项,每一项由两个整数表示,第一个数表示系数,第二个数表示次数。

输出:两个多项式之和,由空格隔开的一组整数表示即可。

样例:

输入:3 3 5 -2 1 4 0

           4 2 3 -1 2 1 1 3 0

输出:3 5 2 3 -1 2 -1 1 7 0

#include <cstdio>
const int max_n = 1111;
int p[max_n] = {0};
int main()
{
    int k, c;
    int x;
    scanf("%d", &k);
    for(int i = 0; i < k; i++)
    {
        scanf("%d %d", &x, &c);
        p[c] += x;
    }
    scanf("%d", &k);
    for(int i = 0; i < k; i++)
    {
        scanf("%d%d", &x, &c);
        p[c] += x;
    }
    for(int i = max_n - 1; i >= 0; i--)
    {
        if(p[i] != 0)
        {
            printf("%d %d ", p[i], i);
        }
    }
    return 0;
}

猜你喜欢

转载自blog.csdn.net/qq_41667538/article/details/88335526