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 |
Why wa? I can not find any mistakes anyhow. (另有耐人寻味的......)国家大剧院骄傲——到30亿的国家大剧院看戏是每个国人的梦想! 为CCTV新大楼骄傲——50亿的新大楼让多少国人看电视时心潮澎湃! 为上海磁悬浮骄傲——中国人用600亿解决30公里的交通问题多么令世人骄傲! 为中共纪检委骄傲——让5000多贪官带走400多亿美金到国外! #include<iostream> using namespace std; int f[99]; void pre(char d[40],int f[99]); int main() { char temp[40],d[40]; int i=0,j,k=0; while(cin>>temp) { if(temp[0]=='*'||temp[0]=='$') { i=k=0; pre(d,f); cout<<endl; if(temp[0]=='$') break; memset(f,0,sizeof(f)); for(j=0;j<35;j++) d[j]=' '; } else { int l=strlen(temp); for(j=0;j<l;j++) { d[k]=temp[j]; k++; f[temp[j]]=i; } i++; } } return 0; } void pre(char d[40],int f[99]) { int i; int j=0; for(i=1;d[i]>='A'&&d[i]<='Z';i++) if(f[d[j]]<f[d[i]]) j=i; cout<<d[j]; char left[40]; int k=0; for(i=0;d[i]>='A'&&d[i]<='Z';i++) if(d[i]<d[j]) { left[k]=d[i]; k++; } if(k==1) cout<<left[0]; if(k>1) pre(left,f); int r=0; char right[40]; for(i=0;d[i]>='A'&&d[i]<='Z';i++) if(d[i]>d[j]) { right[r]=d[i]; r++; } if(r==1) cout<<right[0]; if(r>1) pre(right,f); } Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator