洛谷P1067 多项式输出 NOIP 2009 普及组 第一题

题目描述

一元n次多项式可用如下的表达式表示:

输入输出格式

输入格式

输入共有 2 行

第一行 1 个整数,n,表示一元多项式的次数。

第二行有 n+1 个整数,其中第 i 个整数表示第 n-i+1 次项的系数,每两个整数之间用空格隔开。

输出格式

输出共 1 行,按题目所述格式输出多项式。

输入输出样例

输入样例#1: 
5
100 -1 1 -3 0 10
输出样例#1: 
100x^5-x^4+x^3-3x^2+10
输入样例#2: 
3
-50 0 0 1
输出样例#2: 
-50x^3+1

说明

NOIP 2009 普及组 第一题

对于100%数据,1000≤n≤100,−100≤系数≤100


解!

这道题,简直是我的耻辱!

花了两节课才做出来!(借口:U盘忘带了。。。)

好了好了,平复一下。。。

很简单的!

理清思路

就是有几个重点要罗列出来嘛。。。

一、最高位正号不输出

二、其它位无论是正号还是负号都要输出

三、系数为0,跳过

四、系数为1,不输出系数

五、常数项即使为1,只要不是0就要输出

再进行“排序”

这些限制条件那些更为优先?

首先

  系数为0,直接跳过

第二

  最高位正号不输出

第三

  


#include<iostream>
#include<cmath>
using namespace std;
int k[];
int main(){
int n,flag=;
cin>>n;
for(int i=n;i>=;--i){
cin>>k[i];
if(k[i]==) continue;
if(i==) {
if(k[i]>) cout<<"+"<<k[i];
if(k[i]<) cout<<k[i];
continue;
}
if(flag){//最高次
flag=;
if(k[i]==||k[i]==-) {
if(k[i]==) cout<<"";
if(k[i]==-) cout<<"-";
}
else{
cout<<k[i];
}
}
else{//不是最高次
if(k[i]==||k[i]==-) {
if(k[i]==) cout<<"+";
if(k[i]==-) cout<<"-";
}
else{
if(k[i]>) cout<<"+"<<abs(k[i]);
if(k[i]<) cout<<"-"<<abs(k[i]);
}
} if(i==) cout<<"x";
if(i>) cout<<"x^"<<i;
} return ;
}

洛谷P1067 多项式输出 NOIP 2009 普及组 第一题的更多相关文章

  1. 洛谷——P1067 多项式输出

    P1067 多项式输出 题目描述 一元 n 次多项式可用如下的表达式表示: 其中,aixi称为 i 次项,ai 称为 i 次项的系数.给出一个一元多项式各项的次数和系数,请按照如下规定的格式要求输出该 ...

  2. 洛谷P1067 多项式输出(模拟)

    题目描述 一元 n 次多项式可用如下的表达式表示: 其中,aixi称为 i 次项,ai 称为 i 次项的系数.给出一个一元多项式各项的次数和系数,请按照如下规定的格式要求输出该多项式: 1. 多项式中 ...

  3. 洛谷 P1067 多项式输出

    P1067 多项式输出 模拟,很坑的那种 var i,n:longint; a:array[1..105] of integer; begin readln(n); for i:=1 to n+1 d ...

  4. 洛谷P1067 多项式输出

    题目链接:https://www.luogu.org/problemnew/show/P1067 这是一个纯模拟的小怪但是需要注意一些小细节: 1.首项为正没有+号. 2.所有项系数如果是一的话就省略 ...

  5. 纪中10日T1 2300. 【noip普及组第一题】模板题

    2300. [noip普及组第一题]模板题 (File IO): input:template.in output:template.out 时间限制: 1000 ms  空间限制: 262144 K ...

  6. 【贪心】洛谷2019 OI春令营 - 普及组 作业

    [P3817 小A的糖果 小A有N个糖果盒,第i个盒中有a[i]颗糖果. 小A每次可以从其中一盒糖果中吃掉一颗,他想知道,要让任意两个相邻的盒子中加起来都只有x颗或以下的糖果,至少得吃掉几颗糖. [贪 ...

  7. 洛谷 P1070 道路游戏(noip 2009 普及组 第四题)

    题目描述 小新正在玩一个简单的电脑游戏. 游戏中有一条环形马路,马路上有 nn个机器人工厂,两个相邻机器人工厂之间由一小段马路连接.小新以某个机器人工厂为起点,按顺时针顺序依次将这 nn个机器人工厂编 ...

  8. 【数据结构】洛谷2019 OI春令营 - 普及组 作业

    [P3662][USACO17FEB]Why Did the Cow Cross the Road II S 求解连续的k个数的最大值,利用前缀和维护即可. #include<bits/stdc ...

  9. 【动态规划】洛谷2019 OI春令营 - 普及组 作业

    [P1464 Function] [题解] 按照题目意思进行递归即可,但是过程中需要用到记忆化搜索. #include<bits/stdc++.h> using namespace std ...

随机推荐

  1. 微信小程序开发技巧总结 (一)-- 数据传递和存储

    结合自己在平时的开发中遇到的各种问题,和浏览各种问题的解决方案总结出一些自己在日常开发中常用的技巧和知点,希望各位不吝斧正. 1.短生命周期数据存储 以小程序启动到彻底关闭为周期的的数据建议存储在ap ...

  2. (原)NSQ源码阅读和分析(1)

    原文出处:https://www.cnblogs.com/lihaiping/p/12324371.html 本文记录自己在阅读和学习nsq源码的时候的一些学习笔记,主要目的是个人总结和方便后期查阅. ...

  3. Go语言实现:【剑指offer】平衡二叉树

    该题目来源于牛客网<剑指offer>专题. 给定一个二叉树,判断它是否是高度平衡的二叉树. 本题中,一棵高度平衡二叉树定义为: 一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过1. ...

  4. php面试笔记(3)-php基础知识-运算符

    本文是根据慕课网Jason老师的课程进行的PHP面试知识点总结和升华,如有侵权请联系我进行删除,email:guoyugygy@163.com 在面试中,考官往往喜欢基础扎实的面试者,而运算符相关的考 ...

  5. Linux 服务器注意事项

    1.创建时  数据文件一定分盘挂载 2.LVM 虚拟磁盘卷是否创建    有争议??? 3.hosts 文件 最好添加本机映射          主机名  127.0.0.1      4.iptab ...

  6. div中元素水平居中的方法

    使用align属性 <div class="main" align="center">        <h1>MAIN</h1&g ...

  7. JS获取最近三个月日期范围

    function getLast3Month() { var now = new Date(); var year = now.getFullYear(); var month = now.getMo ...

  8. springcloud vue.js 前后分离 微服务 分布式 activiti工作流 集成代码生成器 shiro权限

    1.代码生成器: [正反双向](单表.主表.明细表.树形表,快速开发利器)freemaker模版技术 ,0个代码不用写,生成完整的一个模块,带页面.建表sql脚本.处理类.service等完整模块2. ...

  9. 10.Android-SharedPreferences使用

    1.SharedPreferences介绍 SharedPreferences,它是一个轻量级的配置文件类,用于保存软件配置参数. 采用xml文件形式存储在/data/data/包名/shared_p ...

  10. 从零构建Flink SQL计算平台 - 1平台搭建

    一.理想与现实 Apache Flink 是一个分布式流批一体化的开源平台.Flink 的核心是一个提供数据分发.通信以及自动容错的流计算引擎.Flink 在流计算之上构建批处理,并且原生的支持迭代计 ...