[CSP-S模拟测试]:表达式密码(模拟)
题目传送门(内部题87)
输入格式
从文件$expression.in$中读入数据。
输入一行,一个字符串$S$,表示原表达式,保证为合法表达式
输出格式
输出到文件$expression.out$中。
一个字符串,表示使表达式结果最大的符号添加方案。
题解
样例输入1:
10+20-30
样例输出1:
10+20-3+0
样例输入2:
-3-4-1
样例输出2:
-3-4-1
样例输入3:
-200+351-1600
样例输出3:
-2+0+0+351-1+600
数据范围与提示
设字符串长度为$|S|$
对于$30\%$的数据,满足$|S|\leqslant 20$
对于$50\%$的数据,满足表达式中的整数在$32$位整数$int$范围内
对于$100\%$的数据,满足$|S|\leqslant 100,000$
题解
模拟不多说,但是想谴责出题人……
明明$+0$和$-0$是一样的,为什么不写$SPJ$?
下发的大样例最后一个字符是$'+'$,逗我$KX$呢?
时间复杂度:$\Theta(|S|)$。
期望得分:$100$分。
实际得分:$100$分。
代码时刻
#include<bits/stdc++.h>
using namespace std;
int n;
char ch[100001];
int main()
{
scanf("%s",ch+1);
n=strlen(ch+1);
for(int i=1;i<=n;i++)
{
putchar(ch[i]);
if(ch[i]=='-')
{
putchar(ch[i+1]);
if(i+1==n)return 0;
for(int j=i+2;j<=n;j++)
{
if(ch[j]=='+'||ch[j]=='-')
{
i=j-1;
break;
}
putchar('+');
if(ch[j]!='0')
{
i=j-1;
break;
}
putchar(ch[j]);
if(j==n)return 0;
}
}
}
return 0;
}
rp++
[CSP-S模拟测试]:表达式密码(模拟)的更多相关文章
- csps模拟85表达式密码,电压机制,括号密码题解
题面:https://www.cnblogs.com/Juve/articles/11733280.html 表达式密码: 是个水题... #include<iostream> #incl ...
- [CSP-S模拟测试]:括号密码(贪心)
题目描述 在“无限神机”的核心上,有一个奇怪的括号密码,密码初始已经有一个括号序列,有$n$个限制条件,每个限制条件描述为$l_i$和$r_i$,表示区间$[l_i,r_i]$的括号序列必须合法.调整 ...
- [考试反思]0719NOIP模拟测试6 + 0722NOIP模拟测试7
连续爆炸,颇为愉快. 第6次:Rank #4 第7次:Rank #9 对于第6次考试,个人比较满意,因为T1只是差了一个卡常. 因为在考试前两天刚讲了矩阵,满脑子都是矩阵,还想到了循环矩阵优化. 整个 ...
- [CSP-S模拟测试]:砖块(模拟)
题目描述 在一个二维网格平面上,一个网格的坐标由其左下角的点的坐标定义$(x,y)$.在一个二维网格平面上,一个网格的坐标由其左下角的个点的坐标定义$(0,0)$的区域中,此时存在高度为$k$的初始砖 ...
- [CSP-S模拟测试]:跳房子(模拟)
题目描述 跳房子,是一种世界性的儿童游戏,也是中国民间传统的体育游戏之一.跳房子是在$N$个格子上进行的,$CYJ$对游戏进行了改进,该成了跳棋盘,改进后的游戏是在一个$N$行$M$列的棋盘上进行,并 ...
- csp-s模拟测试112 & csp-s模拟测试113
考前两天模拟. Day1直接炸飞,T1浪费的时间太长,对拍+调试了一个多小时但复杂度还不能过,最后5分钟想出来了解决方案但是已经打不出来了.T2读入出了事故RE0.T3打了假贪心. Day2心态几乎也 ...
- [CSP-S模拟测试]:五子棋(模拟)
题目传送门(内部题122) 输入格式 输入文件第一行为一个正整数$n$,表示双方总共下了多少步棋. 接下来$n$行,输入文件每行两个正整数.第$i$行的两个数$x,y$表示第$i$步的棋子下在了第$x ...
- [CSP-S模拟测试]:线性代数(模拟)
题目传送门(内部题113) 输入格式 第一行一个正整数$n$. 接下来$n$行,每行$n$个整数,描述$C$矩阵.保证输入的是一个林先森矩阵. 输出格式 若不可能实现,则输出一行$Impossible ...
- [CSP-S模拟测试]:666(模拟)
题目描述 不忘初心. 小$\pi$假期在家无聊,打开了某弹幕直播网站. 突然,有一个精彩的镜头. 小$\pi$看到了满屏的$6$,其中,有$666$.也有$666666$.也有$6666666666. ...
随机推荐
- 深入理解let和var的区别
首先我们应该知道js引擎在读取js代码时会进行两个步骤: 第一个步骤是解释. 第二个步骤是执行. 所谓解释就是会先通篇扫描所有的Js代码,然后把所有声明提升到顶端,第二步是执行,执行就是操作一类的. ...
- 删除项目中所有的__pycache__ 文件
关于 pycache 当第一次运行 python 脚本时,解释器会将 *.py 脚本进行编译并保存到 __pycache__ 目录 下次执行脚本时,若解释器发现你的 *.py 脚本没有变更,便会跳过编 ...
- .net几种timer区别
概述:.net框架不同名称控件都包含了各种timer,但每个timer有什么具体区别呢? 一.System.Threading private static void ThreadingTimer() ...
- 运维DNS原理配置
Linux DNS原理简介及配置 DNS简介 DNS原理 域名解析的过程 资源记录 DNS BIND安装配置 一.简介 一般来讲域名比IP地址更加的有含义.也更容易记住,所以通常用户更习惯输入域名来访 ...
- ES6 环境的搭建
安装babel npm install --g babel-cli 在项目目录下输入 npm init -y 会自动创建package.json文件 babel src/index.js -o dis ...
- 基于Spring Cloud 几行配置完成单点登录开发
单点登录概念 单点登录(Single Sign On),简称为 SSO,是目前比较流行的企业业务整合的解决方案之一.SSO的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统. ...
- Solaris下truss的使用
Solaris下truss的使用 原文转载:http://blog.csdn.net/sunlin5000/article/details/6560736 在Solaris下面,如果需要跟踪系统的调用 ...
- Java的duotaix
今天看到博客园上一位原创的博文讲解Java多态性,觉得不错,不过没有解释,特此注释,侵删 public class MyTest { public static void main(String ar ...
- bootloader架构设计
G-boot架构设计 第一阶段程序设计 1.0.核心初始化: 1.设置中断向量表 2.设置处理器为svc模式 3.关闭看门狗 4.关闭所有中断 5.关闭mmu和cache 6.外设基地址初始化 ...
- 001-cut 的用法
[root@zabbix ~]# , /etc/passwd root: bin: daemon: adm: shutdown: halt: mail: operator: games: nobody ...