sicily 1180.Pasting Strings

18 23 <big>100, <bigger>1000, <biggest>10000</biggest></bigger></big>

19 24 <big></big><bigger>1000, <biggest>10000</biggest></bigger></big> 

注意这两组数据就得了,输出为:

<big><bigger>1000,</bigger></big>

<bigger>1000,</bigger></big>

这是师兄的代码,我不重写了,我就是没注意第二组数据

#include<iostream> using namespace std; #define MAX 250 int main(){ //freopen("1.txt", "r", stdin); int b,e,i,j; char text[MAX]; while(1){ cin.getline(text,MAX); i=0; j=0; b=0; e=0; if(text[i]=='-')break; while(text[i]!=' '){ b*=10; b+=int(text[i]-'0'); i++; } i++; while(text[i]!=' '){ e*=10; e+=int(text[i]-'0'); i++; } i++; b+=i; e+=i; while(1){ if(i==b)break; if(text[i]=='<'){ i++; if(text[i]=='/'){ while(text[i]!='>'){ i++; j--; } i++; j--; } else{ text[j++]='<'; while(text[i]!='>')text[j++]=text[i++]; text[j++]=text[i++]; } } else i++; } while(1){ if(i==e)break; text[j++]=text[i++]; } int times=0; while(1){ if(text[i]==0)break; if(text[i]=='<'){ i++; if(text[i]=='/'){ if(times==0){ text[j++]='<'; while(text[i]!='>')text[j++]=text[i++]; text[j++]=text[i++]; }else{ times--; while(text[i]!='>')i++; i++; } }else{ times++; while(text[i]!='>')i++; i++; } }else i++; } text[j]=0; cout<<text<<endl; } return 0; } 

你可能感兴趣的:(sicily 1180.Pasting Strings)