标签:测试 str color 输出 ant sla || 一个 复杂度
从文件$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++
标签:测试 str color 输出 ant sla || 一个 复杂度
原文地址:https://www.cnblogs.com/wzc521/p/11737337.html