noip模拟赛 天天和不可描述
2024-10-21 14:43:52
分析:直接就这么翻肯定是不行的,换一种想法:有括号就是把括号里的字符串倒着输出,如果在括号里又遇到了括号就继续倒着输出,相当于递归.
我们可以用递归直接做,也可以用一层循环搞定,每次从左括号跳到右括号,再从右括号跳到左括号,之后走一步,就能输出处理后的字符串了,而不会死循环了.
#include <cstdio>
#include <cstring>
#include <iostream>
#include <algorithm> using namespace std; char s[];
int tot, pipei[], nextt[], x, dir; int main()
{
scanf("%s", s + );
int sizee = strlen(s + );
for (int i = ; i <= sizee; i++)
{
if (s[i] == '(')
pipei[++tot] = i;
else
if (s[i] == ')')
{
nextt[i] = pipei[tot];
nextt[pipei[tot--]] = i;
}
}
dir = , x = ;
while (x >= && x <= sizee)
{
if (nextt[x])
{
x = nextt[x];
dir = -dir;
}
else
printf("%c", s[x]);
x += dir;
} return ;
}
最新文章
- Unix目录结构的来历
- [转自天涯]ISO27001与ISO20000的关系心得
- SQL查询一个月第一天/最后一天及日期格式化
- Redis分布式
- array_intersect() php筛选两个数组共有的元素
- 【Python】控制流语句、函数、模块、数据结构
- mysql System Tablespace
- css实现两端对齐~
- QQ聊天界面的布局和设计(IOS篇)-第二季
- C++----练习--string 从文件中一个一个单词的读直到文件尾
- MyEclipse6.5安装SVN插件的三种方法
- UILabel头文件常见属性
- e.currentTarget
- Vim常见操作汇总
- 【.NET异步编程系列1】:await&;async语法糖让异步编程如鱼得水
- robocopy的用法,数据库局域网备份
- 调度器的实现、schedule、switch_context、switch_to
- python sqlparse 各种 token
- CSS hack兼容表
- AES加密【转】