犯了嚴重錯誤
在迴圈之前應該就要給定strlen值
否則會TLE
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <list> // STL linked list
#include <iostream>
using namespace std;
list<char> text;
list<char>::iterator it=text.begin();
int main(){
char input[100001];
while(scanf("%s",input)!=EOF){
int length = strlen(input); //重點:不在迴圈中呼叫strlen,否則TLE
text.clear();
it = text.begin();
for(int i=0;i<length;i++){
if(input[i]=='[')it=text.begin();
else if(input[i]==']')it=text.end();
else{
text.insert(it,input[i]);
}
}
for(it=text.begin();it!=text.end();it++) printf("%c",*it);
printf("\n");
}
return 0;
}
沒有留言:
發佈留言