UVa 11988 - Broken Keyboard (a.k.a. Beiju Text)
2014-11-16 12:51
501 查看
题目:在一个没有显示器的电脑上输入一个字符串,键盘坏掉了,会随机的出现home,和end按键,
字符串中'['代表home键(句首),']'代表end键(句尾),问最后输出的字符串的格式。
分析:模拟,递归。逆向运算即可。
一个格式符('['或者‘]’)只能影响到他后面的格式符间的字符串,与它前面的字符串之间的先后关系;
如果,是home,前后倒置,如果是end不用改变顺序。
说明:强大的递归(⊙_⊙)。
字符串中'['代表home键(句首),']'代表end键(句尾),问最后输出的字符串的格式。
分析:模拟,递归。逆向运算即可。
一个格式符('['或者‘]’)只能影响到他后面的格式符间的字符串,与它前面的字符串之间的先后关系;
如果,是home,前后倒置,如果是end不用改变顺序。
说明:强大的递归(⊙_⊙)。
#include <algorithm> #include <iostream> #include <cstdlib> #include <cstring> #include <cstdio> #include <cmath> using namespace std; char buf[100001]; void dfs(int l, int r) { int s = r; while (s >= l && buf[s] != '[' && buf[s] != ']') s --; if (buf[s] == ']') dfs(l, s-1); for (int i = s+1 ; i <= r ; ++ i) printf("%c",buf[i]); if (buf[s] == '[') dfs(l, s-1); } int main() { while (gets(buf)) { dfs(0, strlen(buf)-1); printf("\n"); } return 0; }
相关文章推荐
- UVa-11988 - Broken Keyboard (a.k.a. Beiju Text)
- UVA 11988 - Broken Keyboard (a.k.a. Beiju Text)
- Uva-11988-Broken Keyboard (a.k.a. Beiju Text)
- Uva - 11988 - Broken Keyboard (a.k.a. Beiju Text)
- UVA-11988 Broken Keyboard (a.k.a. Beiju Text)
- UVa11988 Broken Keyboard (a.k.a. Beiju Text)
- UVA - 11988 Broken Keyboard (a.k.a. Beiju Text)
- UVA 11988 Broken Keyboard (a.k.a. Beiju Text)
- UVa 11988 - Broken Keyboard (a.k.a. Beiju Text) ( 模拟链表 )
- 【例题 6-4 UVA - 11988】Broken Keyboard (a.k.a. Beiju Text)
- UVA 11988 Broken Keyboard (a.k.a. Beiju Text)
- uva 11988 Broken Keyboard (a.k.a. Beiju Text)
- Broken Keyboard (a.k.a. Beiju Text) UVA, 11988(链表)
- UVA 11988 Broken Keyboard (a.k.a. Beiju Text)
- UVA 11988 - Broken Keyboard (a.k.a. Beiju Text)
- Broken Keyboard (a.k.a. Beiju Text) UVA - 11988
- UVA 11988——Broken Keyboard (a.k.a. Beiju Text)
- UVA 11988 - Broken Keyboard (a.k.a. Beiju Text)
- UVA - 11988 Broken Keyboard (a.k.a. Beiju Text)链表
- 链表 UVA 11988 Broken Keyboard (a.k.a. Beiju Text)