PAT甲级——A1002 A+B for Polynomials
This time, you are supposed to find A+B where A and B are two polynomials.
Input Specification:
Each input file contains one test case. Each case occupies 2 lines, and each line contains the information of a polynomial:
K N1 aN1 N2 aN2 ... NK aNK
where K is the number of nonzero terms in the polynomial, Ni and aNi (,) are the exponents and coefficients, respectively. It is given that 1,0.
Output Specification:
For each test case you should output the sum of A and B in one line, with the same format as the input. Notice that there must be NO extra space at the end of each line. Please be accurate to 1 decimal place.
Sample Input:
2 1 2.4 0 3.2
2 2 1.5 1 0.5
Sample Output:
3 2 1.5 1 2.9 0 3.2
使用map进行映射即可,但需注意输出格式
1 #include <iostream> 2 //#include <vector> 3 #include <map> 4 #include <stack> 5 using namespace std; 6 7 int main() 8 { 9 map<double, double,greater<double>>data;//从大到小排序 10 for (int i = 0; i < 2; ++i)//输入两组数据 11 { 12 int k; 13 cin >> k; 14 for (int j = 0; j < k; ++j)//接受每组数据 15 { 16 double a, b; 17 cin >> a >> b; 18 data[a] += b; 19 if (data[a] == 0)//系数为0则删除 20 data.erase(a); 21 } 22 } 23 cout << data.size(); 24 for (auto ptr = data.begin(); ptr != data.end(); ++ptr) 25 { 26 cout << " " << ptr->first << " "; 27 printf("%.1f", ptr->second); 28 } 29 return 0; 30 }
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 解答了困扰我五年的技术问题
· 为什么说在企业级应用开发中,后端往往是效率杀手?
· 用 C# 插值字符串处理器写一个 sscanf
· Java 中堆内存和栈内存上的数据分布和特点
· 开发中对象命名的一点思考
· 为什么说在企业级应用开发中,后端往往是效率杀手?
· DeepSeek 解答了困扰我五年的技术问题。时代确实变了!
· 本地部署DeepSeek后,没有好看的交互界面怎么行!
· 趁着过年的时候手搓了一个低代码框架
· 推荐一个DeepSeek 大模型的免费 API 项目!兼容OpenAI接口!