#include<iostream>
#include<cstdio>
#include<algorithm>
#include<vector>
#include<map>
#include<functional>
using namespace std;
struct record{
int coef;
int exp;
bool operator<(const record& r){
return exp<r.exp;
}
};
int main()
{
freopen("in.txt","r",stdin);
map<int,int> sum,mul;
vector<record> v1,v2;
int n,m;
cin>>n;
record x;
for(int i=0;i<n;i++){
cin>>x.coef>>x.exp;
v1.push_back(x);
sum[x.exp]+=x.coef;
}
cin>>m;
for(int j=0;j<m;j++){
cin>>x.coef>>x.exp;
v2.push_back(x);
sum[x.exp]+=x.coef;
}
for(int i=0;i<n;i++)
for(int j=0;j<m;j++){
mul[v1[i].exp+v2[j].exp]+=v1[i].coef*v2[j].coef;
}
map<int,int>::reverse_iterator itr;
if(mul.size()==0){
cout<<0<<" "<<0<<endl;
}else{
for(itr=mul.rbegin();itr!=mul.rend();++itr){
if(itr->second!=0)
cout<<(itr==mul.rbegin() ? "" : " ")<<itr->second<<" "<<itr->first;
}
cout<<endl;
}
if(sum.size()==0){
cout<<0<<" "<<0<<endl;
}else{
for(itr=sum.rbegin();itr!=sum.rend();++itr){
if(itr->second!=0)
cout<<(itr==sum.rbegin() ? "" : " ")<<itr->second<<" "<<itr->first;
}
cout<<endl;
}
}
304
最新推荐文章于 2024-08-27 13:32:48 发布