题目链接:
https://pintia.cn/problem-sets/994805342720868352/problems/994805526272000000
思路:
借鉴柳大神的思路:建立一个(float)数组(保存时临时变量
也要是float型)来保存指数,用下标作为系数。
遍历数据,相同的系数进行累加和。
最后判断输出即可。
贴代码:
#include<bits/stdc++.h>
using namespace std;
int main()
{
float c[1001]={0};
float temp;
int m,t;
cin>>m;
for(int i=0;i<m;i++)
{
scanf("%d %f",&t,&temp);
c[t]+=temp;
}
int n;
cin>>n;
for(int i=0;i<n;i++)
{
scanf("%d %f",&t,&temp);
c[t]+=temp;
}
int cnt=0;
for(int i=0;i<1001;i++)
{
if(c[i]!=0)
{
cnt++;
}
}
cout<<cnt;
for(int i=1000;i>=0;i--)
{
if(c[i]!=0)
printf(" %d %.1f",i,c[i]);
}
}
PAT甲级-1002. A+B for Polynomials(根据范围巧设数组)
最新推荐文章于 2022-03-15 22:32:43 发布