3-04. 一元多项式的乘法与加法运算(20)(ZJU_PAT 结构体)
题目链接:http://pat.zju.edu.cn/contests/ds/3-04
设计函数分别求两个一元多项式的乘积与和。
输入格式说明:
输入分2行。每行分别先给出多项式非零项的个数。再以指数递降方式输入一个多项式非零项系数和指数(绝对值均为不超过1000的整数)。数字间以空格分隔。
输出格式说明:
输出分2行。分别以指数递降方式输出乘积多项式以及和多项式非零项的系数和指数。
数字间以空格分隔,但结尾不能有多余空格。
例子输入与输出:
| 序号 | 输入 | 输出 | 
| 1 | 4 3 4 -5 2 6 1 -2 0 | 15 24 -25 22 30 21 -10 20 -21 8 35 6 -33 5 14 4 -15 3 18 2 -6 1 | 
| 2 | 2 1 2 1 0 | 1 4 -1 0 | 
| 3 | 2 -1000 1000 1000 0 | -1000000 2000 2000000 1000 -1000000 0 | 
| 4 | 0 | 0 0 | 
代码例如以下:
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <iostream>
using namespace std;
const int maxn = 5217;
typedef struct
{
int x, y;
int m, s;
} node;
node num1[maxn], num2[maxn];
node ans_mul[maxn], ans_sum[maxn];
int max1, max2, maxx; void mult()
{
for(int i = 0; i <= max1; i++)
{
for(int j = 0; j <= max2; j++)
{
ans_mul[i+j].m += num1[i].x*num2[j].x;
}
}
} void sum()
{
for(int i = 0; i <= maxx; i++)
{
ans_sum[i].s += num1[i].x + num2[i].x;
}
}
int main()
{
int n, m;
scanf("%d",&n);
int t1, t2;
max1 = max2 = 0;
for(int i = 0; i < n; i++)
{
scanf("%d %d",&t1,&t2);
if(t2 > max1)
max1 = t2;
num1[t2].x = t1;
}
scanf("%d",&m);
for(int i = 0; i < m; i++)
{
scanf("%d%d",&t1,&t2);
if(t2 > max2)
max2 = t2;
num2[t2].x = t1;
}
int mul_max = max1+max2;
maxx = max(max1, max2);
mult();
sum();
int flag = 0;
for(int i = mul_max; i >= 0; i--)
{
if(!ans_mul[i].m)
{
continue;
}
if(!flag)
{
printf("%d %d",ans_mul[i].m,i);
flag = 1;
}
else
{
printf(" %d %d",ans_mul[i].m,i);
}
}
if(!flag)
{
printf("0 0");
}
printf("\n");
flag = 0;
for(int i = maxx; i >= 0; i--)
{
if(!ans_sum[i].s)
{
continue;
}
if(!flag)
{
printf("%d %d",ans_sum[i].s,i);
flag = 1;
}
else
{
printf(" %d %d",ans_sum[i].s,i);
}
}
if(!flag)
{
printf("0 0");
}
printf("\n");
return 0;
}
3-04. 一元多项式的乘法与加法运算(20)(ZJU_PAT 结构体)的更多相关文章
- PTA 02-线性结构2 一元多项式的乘法与加法运算   (20分)
		原题地址 https://pta.patest.cn/pta/test/15/exam/4/question/710 5-2 一元多项式的乘法与加法运算 (20分) 设计函数分别求两个一元多项式的 ... 
- PTA数据结构 习题3.6 一元多项式的乘法与加法运算 (20分)
		一元多项式的乘法与加法运算 https://pintia.cn/problem-sets/434/problems/5865 设计函数分别求两个一元多项式的乘积与和. 时间限制:200 ms 内存限制 ... 
- PAT 02-线性结构2 一元多项式的乘法与加法运算   (20分)
		设计函数分别求两个一元多项式的乘积与和. 输入格式: 输入分2行,每行分别先给出多项式非零项的个数,再以指数递降方式输入一个多项式非零项系数和指数(绝对值均为不超过1000的整数).数字间以空格分隔. ... 
- 线性结构2 一元多项式的乘法与加法运算 【STL】
		02-线性结构2 一元多项式的乘法与加法运算(20 分) 设计函数分别求两个一元多项式的乘积与和. 输入格式: 输入分2行,每行分别先给出多项式非零项的个数,再以指数递降方式输入一个多项式非零项系数和 ... 
- 线性结构CT 02-线性结构1 一元多项式的乘法与加法运算
		设计函数分别求两个一元多项式的乘积与和. 输入格式: 输入分2行,每行分别先给出多项式非零项的个数,再以指数递降方式输入一个多项式非零项系数和指数(绝对值均为不超过1000的整数).数字间以空格分隔. ... 
- 浙江大学PAT上机题解析之3-04. 一元多项式的乘法与加法运算
		设计函数分别求两个一元多项式的乘积与和. 输入格式说明: 输入分2行,每行分别先给出多项式非零项的个数,再以指数递降方式输入一个多项式非零项系数和指数(绝对值均为不超过1000的整数).数字间以空格分 ... 
- 一元多项式的乘法与加法运算 【STL-map哈希-map反向迭代器遍历 + 零多项式】
		设计函数分别求两个一元多项式的乘积与和. 输入格式: 输入分2行,每行分别先给出多项式非零项的个数,再以指数递降方式输入一个多项式非零项系数和指数(绝对值均为不超过1000的整数).数字间以空格分隔. ... 
- 一元多项式的乘法与加法运算(C语言)
		输入格式: 输入分2行,每行分别先给出多项式非零项的个数,再以指数递降方式输入一个多项式非零项系数和指数(绝对值均为不超过1000的整数).数字间以空格分隔. 输出格式: 输出分2行,分别以指数递降方 ... 
- 小白专场-多项式乘法与加法运算-c语言实现
		目录 一.题意理解 二.求解思路 三.多项式的表示 3.1 数组 3.2 链表 四.程序框架搭建 五.如何读入多项式 六.如何将两个多项式相加 七.如何将两个多项式相乘 八.如何将多项式输出 一.题意 ... 
随机推荐
- C#实现时间戳转化
			/// <summary> /// 时间戳转为C#格式时间 /// </summary> /// <param name=”timeStamp”></para ... 
- 从java main方法说开去(转)
			刚刚接触java语言时,接触的便为一个java main方法.我们知道这样程序就可以运行了,但是程序是怎么运行起来的我们却不知道. 众所周知,当执行一个java程序时,首先会启动一个JVM虚拟机进程, ... 
- 基于visual Studio2013解决算法导论之046广度优先搜索
			 题目 广度优先搜索 解决代码及点评 // 图的邻接表表示.cpp : 定义控制台应用程序的入口点. // #include <iostream> #include <stac ... 
- linux 远程桌面工具NX
			1.在linux服务器上需要安装3个文件,下载地址为: http://www.nomachine.com/download-package.php?Prod_Id=1977 nxclient-3.4. ... 
- block 解析 - 形参变量
			block形参 之前漏了一篇block形参的介绍,这里给补上. block形参就是定义block带的参数,和函数的参数使用一样,我们可以在block随意使用修改block形参. 我们来看个例子: 我们 ... 
- asp.net上传控件使用
			protected void Button1_Click(object sender, EventArgs e) { string str = ""; if (FileUpload ... 
- 关于apche无缘无故个启动不了,解决方法
			1. 对于用户不小心把apache下的conf文件不小心给修改了,可那会导致,启动不了apache, 解决办法可以重新下载一个, 64为 32位 下载地址 http://www.veryhuo.c ... 
- 轻量化ViewControllers,读文章做的总结
			推荐一个网站 http://objccn.io/ 我这两天才开始看 获益匪浅 看了第一篇文章 <更轻量的View Controllers>感觉写的不错 感觉作者 原文地址 http://o ... 
- Deamon Thread 讲解
			The daemon thread's life cycle is same with the life cycle of the application which starts this daem ... 
- Demo XML 、 JSON 解析 AND 网络HTTP请求
			有道云笔记分享:http://note.youdao.com/share/?id=7950b949a5017a698a9ecc95bc250ec5&type=note 后台服务端:C#.服务器 ... 
