| ||||||||||
| Online Judge | Problem Set | Authors | Online Contests | User | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest | |||||||||
又是这种情况! 这题在ZJU AC了 在这里TLE 好像是读入问题?谁来帮我看看啊~ 不胜感激!!In Reply To:这题什么原因能导致tle 不是最多10组255字符? n^2也够了吧? 我晕,今天真不顺... Posted by:bobobo at 2006-08-14 03:31:53 #include<stdio.h>
char s[300];
int len;
bool shouldel(int i,int &j);
int main(){
char enter;
int cases;
char ch;
int i,j;
scanf("%d%c",&cases,&enter);
while(cases--){
len=0;
while(1){
scanf("%c",&ch);
if(ch=='\n'){s[len]='\0'; break;}
else if(ch==' ') continue;
else s[len++]=ch;
}
for(i=0;i<len;i++)
if(s[i]=='('&&shouldel(i,j)){
s[i]='*';
/*
int stack=1;
for(j=i+1;j<len;j++){
if(s[j]=='(') stack++;
else if(s[j]==')') stack--;
if(!stack) break;
}*/
s[j]='*';
}
for(i=0;i<len;i++)
if(s[i]!='*') printf("%c",s[i]);
printf("\n");
}
return 0;
}
bool shouldel(int i,int &j){
//int j;
int stack=1;
if(i==0){
for(j=i+1;j<len;j++){
if(s[j]=='(') stack++;
else if(s[j]==')') stack--;
if(!stack) break;
}
return true;
}
else if(s[i-1]=='-'){
//int stack=1;
int res=0;
for(j=i+1;j<len;j++){
if(s[j]=='(') stack++;
else if(s[j]==')') stack--;
else res++;
if(!stack) break;
}
if(res==1||res==0) return true;
else return false;
}
else{
for(j=i+1;j<len;j++){
if(s[j]=='(') stack++;
else if(s[j]==')') stack--;
if(!stack) break;
}
return true;
}
}
Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator