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 |
常见的回答是:“你的程序是错的”In Reply To:奇怪...同一个程序用c++交就ac,用g++交就wa了……hawk大哥怎么回事啊? Posted by:wangchen1ren at 2005-05-22 22:14:29 > #include <iostream> > #include <string.h> > #include <math.h> > > static char ends[5]={"END"}; > char s[200]; > double x,y; > long dis,dx,dy,i,t=1; > > main() > { > // freopen("input.txt","r",stdin);freopen("output.txt","w",stdout); > while (scanf("%s",s)!=EOF) > { > if (strcmp(s,ends)==0) break; > x=0.0;y=0.0; > dis=0;dx=0;dy=0; > i=0; > while (i<strlen(s)) > { > if (s[i]=='N') dy=1; > else if (s[i]=='S') dy=-1; > else if (s[i]=='W') dx=-1; > else if (s[i]=='E') dx=1; > else if (s[i]==','||s[i]=='.') > { > if (dx==0||dy==0) > { > x+=double(dis)*double(dx); > y+=double(dis)*double(dy); > } > else > { > x+=double(dx)*double(dis)/sqrt(2.0); > y+=double(dy)*double(dis)/sqrt(2.0); > } > dis=0;dx=0;dy=0; > } > else > if (s[i]>='0'&&s[i]<='9') > { > dis=s[i]-'0'; > while (s[i+1]>='0'&&s[i+1]<='9') > { > i++; > dis=dis*10+s[i]-'0'; > } > } > i++; > } > printf("Map #%d\n",t++); > printf("The treasure is located at (%0.3lf,%0.3lf).\n",x,y); > printf("The distance to the treasure is %0.3lf.\n",sqrt(x*x+y*y)); > printf("\n"); > } > } Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator