破损的键盘 (Broken Keyboard,UVa 11988)
1 #include <iostream> 2 #include <string.h> 3 #include <string> 4 #include <fstream> 5 #include <algorithm> 6 #include <stdio.h> 7 #include <vector> 8 #include <queue> 9 #include <set> 10 #include <cmath> 11 using namespace std; 12 const double eps = 1e-8; 13 const double pi=acos(-1.0); 14 const int INF=0x7fffffff; 15 unsigned long long uINF = ~0LL; 16 #define MAXN 1007 17 #define mod 1000000007 18 typedef long long LL; 19 char s[100010],ans[100010]; 20 int main() 21 { 22 while(scanf("%s",s)!=EOF) 23 { 24 int len=strlen(s); 25 for(int i=0;i<len;i++) 26 { 27 if(s[i]=='['||s[i]==']') 28 ans[i]='\0'; 29 else ans[i]=s[i]; 30 } 31 ans[len]='\0'; 32 for(int i=len-1;i>=0;i--) 33 if(s[i]=='[')printf("%s",ans+i+1); 34 if(s[0]!='['&&s[0]!=']')printf("%s",ans); 35 for(int i=0;i<len;i++) 36 if(s[i]==']')printf("%s",ans+i+1); 37 printf("\n"); 38 } 39 40 return 0; 41 }