uva 11988Broken Keyboard (a.k.a. Beiju Text)
来源:互联网 发布:nike高仿淘宝 编辑:程序博客网 时间:2024/05/20 10:11
传送门
法一:
用双端队列做。
#include<cstring>#include<string>#include<cstdio>#include<cstdlib>#include<iostream>#include<cmath>#include<algorithm>#include<queue>#include<vector>#include<map>#include<stack>#include<climits>#include<cctype>#include<bitset>#include<set>using namespace std;#define mod 1000000007#define PI acos(-1.0)#define INF 0x3f3f3f3ftypedef long long LL;char s[100010];int main(){ while(~scanf("%s",s)){ deque<int>q; int i=0; while(s[i]=='['||s[i]==']')i++; q.push_back(i); while(s[i]){ if(s[i]=='['){ q.push_front(i+1); s[i]='\0'; } else if(s[i]==']'){ q.push_back(i+1); s[i]='\0'; } i++; } while(!q.empty()){ printf("%s",s+q.front()); q.pop_front(); } cout<<endl; } return 0;}
法二:
数组保存链表做:
#include<cstring>#include<string>#include<cstdio>#include<cstdlib>#include<iostream>#include<cmath>#include<algorithm>#include<queue>#include<vector>#include<map>#include<stack>#include<climits>#include<cctype>#include<bitset>#include<set>using namespace std;#define mod 1000000007#define PI acos(-1.0)#define INF 0x3f3f3f3ftypedef long long LL;char str[100010];int nxt[100010];int main(){ int i,j,cur,last; while(~scanf("%s",str+1)) { int len = strlen(str+1); cur = last = 0; nxt[0] = 0; for(i = 1; i<=len; i++) { if(str[i]=='[') cur = 0; else if(str[i]==']') cur = last; else { nxt[i] = nxt[cur]; nxt[cur] = i; if(last == cur) last = i; cur = i; } } for(i = nxt[0]; i; i = nxt[i]) printf("%c",str[i]); cout<<endl; } return 0;}
0 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)
- 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)
- 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)链表
- 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) 链表
- Non Absorbing DFA DP (ASC2A SGU201 ZOJ2337 ACdream1218 Gym100197A)
- 测试开发工程师需要具备的性格
- 规范之路 -line-height 的工作原理
- Vijos P1037 搭建双塔(动态规划,二维背包)
- findContours和drawContours的使用
- uva 11988Broken Keyboard (a.k.a. Beiju Text)
- 让你的Google跑起来
- 记录一笔-折半插入排序
- rac ntp配置
- 两个队列实现栈
- noj 2107 有趣的区间异或值(异或,找规律)
- NYOJ 5 Binary String Matching【string find的运用】
- 一些项目中遇到的小问题
- service的简单通信③