Problem 2058 --算法2-23:一元多项式加法

2058: 算法2-23:一元多项式加法

"
Time Limit $1$ 秒/Second(s) Memory Limit $512$ 兆字节/Megabyte(s)
提交总数 $33$ 正确数量 $15$
裁判形式 标准裁判/Standard Judge 我的状态 尚未尝试
难度 分类标签
让我们重温小学初中时那些一元多项式的加法吧,不同的是现在使用计算机来帮我们计算了。多年前不想写作业的梦想终于快要实现了!下面就给出书上的算法。
图:链表实现一元多项式加法

输入数据包含多组测试数据,每组数据包含两行一元多项式。每个多项式包含若干对整数,每对整数的第一个是系数,第二个是指数。每个多项式不超过100项,整数间用空格隔开,并且指数是递减的。

每组测试数据输出一行结果,每个整数后面空一格。(包括行尾)

3 2 4 1 7 0
2 4 1 1
2 3
1 4
3 2 4 1 7 0
2 4 -4 1
2 4 3 2 5 1 7 0 
1 4 2 3 
2 4 3 2 7 0 
提示:
1、由于多项式元素的重要信息在系数和指数,所以可以定义结点类型为含两个整数的结构体,一个代表系数而另一个代表指数。 2、定义完数据类型后,主要的就是怎么读取数据了。由于每个多项式占一行,所以可以用gets来读取一行,并判断是否为空行:while(gets(strA) && strlen(strA))...然后就将字符串中的数据转换为多项式类型。此时使用到一个字符串处理函数char * strtok ( char * str, const char * delimiters )。这个函数的主要功能是将字符串str按delimiters中的字符分割。使用这个字符串处理函数时注意在处理某个字符串时首次使用时传递的参数是字符串指针而以后在使用时传递的参数是NULL。 3、下面的算法与有序序列有序合并算法类似。因为是多次循环,如果里面含有迭代变量(i,j之类的)注意下次循环时初值对不对。
总结:
多项式加法的算法与有序序列有序合并的算法类似,注意多项式元素类型的定义即可。

推荐代码 查看2058 所有题解 上传题解视频得图灵币

本题记录 用 户(点击查看用户) 运行号(点击购买题解) 时 间
算法最快[$0 $ms] sqrjy 607526 2020-07-16 21:38:11
内存最少[$1116 $KB] 范晋豪@信息与计算科学142 152663 2017-11-16 15:10:13
第一AC 范晋豪@信息与计算科学142 152662 2017-11-16 15:10:12
第一挑战 范晋豪@信息与计算科学142 152662 2017-11-16 15:10:12

赛题来源/所属竞赛 数据结构高分笔记 数据结构高分笔记

竞赛编号 竞赛名称 竞赛时间 访问比赛