XDOJ.T133_一元稀疏多项式计算器

第一次写博客,随便拿了一道题过来用一用。
好吧,我错了,这题很难。毕竟你们都搜到这里了,当然会认为这题很难(手动滑稽)。
在座的多半是XD的,应该都有题目,不过以防万一,我还是把题目贴一下。

标题:

一元稀疏多项式计算器

类别:

综合

时间限制:

2S

内存限制

1000Kb

问题描述

一元 n 次多项式𝑝0𝑋𝑒0 + 𝑝1𝑋𝑒1 + ⋯ + 𝑝𝑖𝑋𝑒𝑖 + ⋯ + 𝑝𝑛𝑋𝑒𝑛 项数较少时成为一元稀疏多项式,
例如:3 + 6𝑋3 − 2𝑋8 + 12𝑋20是一个一元稀疏多项式。设计一个一元稀疏多项式计算器程 序完成两个一元稀疏多项式的加减法,输出结果多项式的各项系数和指数。

输入说明

输入数据第 1 行为 3 个正整数 n,m,t。其中 n 表示第一个多项式的项数,m 表示第二个
多项式的项数,t 表示运算类型,0 为加法,1 为减法。数据的第 2 行包含 2n 个整数,每两
个整数分别表示第一个多项式每一项的系数和指数;第 3 行包含 2m 个整数,每两个整数分
别表示第二个多项式每一项的系数和指数。两个多项式的每项是按照指数递增的形式给出的,
例如对于多项式3 + 6𝑋3 − 2𝑋8 + 12𝑋20,对应的输入为 3 0 6 3 -2 8 12 20

输出说明

运算结果按指数从低到高的顺序在以多项式形式(见输出样例)输出结果,注意系数为负数
时输出减号,系数为 0 时不输出该项,指数为 1 时不输出指数。
(需要各种if条件语句,漏了任何一种情况都会遭殃)

输入样例

6 2 0
1 0 1 1 1 2 1 3 1 4 1 5
-1 3 -1 4
(样例确实有点坑,我这个垃圾一开始并没有想到指数还可以是负数,用数组把自己害惨了,555)

输出样例

1+x+x^2+x^5

判定规则:

忽略首尾空白 忽略空行 忽略大小写 数据之间只保留一个空白

废话少说,先贴代码。

#include <stdio.h>
#include <string.h>

struct ooo	//用结构体做这题方便许多
{
   
    int coe;
    int exp;
};

int main()
{
   
    int n,m,t;
    scanf("%d%d%d",&n,&m,&t);
    struct ooo a[n+m],b[m],temp;
    int i=0,j=0,k=0,l=0;
    for(i=0;i<n;++i)	//我喜欢用++i,听说在某些情况下可以加快运行速度,至于是什么情况我也不知道(手动滑稽*2)
    {
   
        scanf("%d%d",&a[i].coe,&a[i].exp);
    
  • 23
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 13
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值