标签:names eof 顺序 soft memset ica iostream 整数 处理
输入两个多项式,计算它们的和。
每个多项式有若干对整数表示,每组整数中,第一个整数表示系数(非0),第二个整数表示该项的次数。
如由3 3 5 -2 1 4 0表示3x^5 - 2 * x + 4其中第一个3表示该多项式由三个整数对表示。
输入为两行,分别表示两个多项式。表示每项的整数对按照次数大小降序给出。(次数绝对值小于1000,系数绝对值小于10000)
按照降次顺序输出表示和多项式的整数对(系数为0的整数对不用输出,整数对由空格分隔,最后一个整数对后不添加空格)
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<iostream> #include<cstring> #include<cstdio> //注意first的处理!!! using namespace std; int xishu1[1001]; int cishu1[1001]; int xishu2[1001]; int cishu2[1001]; int result[1001]; int main(){ int n,m,i; while(cin>>n){ memset(xishu1,0,sizeof(xishu1)); memset(cishu1,0,sizeof(cishu1)); memset(xishu2,0,sizeof(xishu2)); memset(cishu2,0,sizeof(cishu2)); memset(result,0,sizeof(result)); for(i=0;i<n;i++) { cin>>xishu1[i]>>cishu1[i]; } cin>>m; for(i=0;i<m;i++) { cin>>xishu2[i]>>cishu2[i]; } for(i=0;i<n;i++) { result[cishu1[i]]=xishu1[i]; } for(i=0;i<m;i++) { result[cishu2[i]]+=xishu2[i]; } int first=1; for(i=1000;i>=0;i--) { if(result[i]) { if(first){ cout<<result[i]<<" "<<i; first=0; } else cout<<" "<<result[i]<<" "<<i; } } cout<<endl; } return 0; }
标签:names eof 顺序 soft memset ica iostream 整数 处理
原文地址:https://www.cnblogs.com/bernieloveslife/p/9736545.html