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 |
hawk帮忙啊In Reply To:还是WA 谁能指点一下 Posted by:zzningxp at 2005-09-12 18:40:02 > #include <stdio.h> > #include <string.h> > > int main() > { > char st[40]; > int i,j,k,m,r,d,ln,t,a[40]={0}; > while (scanf("%s",st) && st[0]!='.') > { > ln=strlen(st)-1; > for (d=-1,i=0;i<=ln;i++) > { > if (st[i]=='.') > d=i; > if (d==-1) > a[i]=st[i]-'0'; > else > if (st[i]!='.') > a[i-1]=st[i]-'0'; > } > > a[ln]=0; > > for (i=ln-1;i>=0;i--) > if ((a[i]==2 || a[i]==6) && > (a[i]+3<a[i+1] || a[i]>=a[i+1])) > { > a[i]+=3; > for (j=i+1;j<ln;j++) > if (a[j]==5 || a[j]==9) > a[j]-=3; > for (j=i+1;j<ln;j++) > for (k=j+1;k<ln;k++) > if (a[j]>a[k]) > { > t=a[j]; > a[j]=a[k]; > a[k]=t; > } > break; > } > else > if (a[i]<a[i+1]) > { > m=20; > r=i; > k=0; > for (j=ln-1;j>i;j--) > { > if (a[j]>a[i]) > if (a[j]-a[i]<m) > { > m=a[j]-a[i]; > r=j; > } > if ((a[j]==5 || a[j]==9) && a[j]-3>a[i]) > if (a[j]-3-a[i]<m) > { > m=a[j]-3-a[i]; > r=j; > k=1; > } > } > if (k) > a[r]-=3; > > t=a[i]; > a[i]=a[r]; > a[r]=t; > > for (j=i+1;j<ln;j++) > if (a[j]==5 || a[j]==9) > a[j]-=3; > > for (j=i+1;j<ln;j++) > for (k=j+1;k<ln;k++) > if (a[j]>a[k]) > { > t=a[j]; > a[j]=a[k]; > a[k]=t; > } > break; > } > if (i<0) > printf("The price cannot be raised."); > else > for (i=0;i<ln;i++) > { > if (i==d) > printf("."); > printf("%d",a[i]); > } > printf("\n"); > } > return 0; > } > Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator