随便刷个水题,竟然被卡死在49分上。。。

P1513 绕钉子的长绳子

@[咪嗷呜喵](/space/show?uid=61312) Orz大佬都觉得普及-都是水题了%%%
by strangers @ 2018-07-13 21:35:34


@[strangers](/space/show?uid=52452) 明明您更巨啊,红名dalao
by 咪嗷呜喵 @ 2018-07-14 20:20:28


@[咪嗷呜喵](/space/show?uid=61312) dalao,您的 $ s=(double)sqrt((x[i]-x[i-1])*(x[i]-x[i-1])+(y[i]-y[i-1])*(y[i]-y[i-1])); ans+=s; $ 好像范围不太对吧,因为您如果要计算$x[i]-x[i-1]$的话,for的范围应该是从2到n吧。
by 最喜欢saber了 @ 2018-11-06 11:21:23


```cpp #include<bits/stdc++.h> using namespace std; const double pi=3.1415926535897; int n; double x[101],y[101],r,s; int main(){ scanf("%d %lf",&n,&r); double ans=(double)2*pi*r; for(int i=1;i<=n;i++){ scanf("%lf %lf",&x[i],&y[i]); } for(int i=2;i<=n;++i){ s=(double)sqrt((x[i]-x[i-1])*(x[i]-x[i-1])+(y[i]-y[i-1])*(y[i]-y[i-1])); ans+=s; } ans+=(double)sqrt((x[n]-x[1])*(x[n]-x[1])+(y[n]-y[1])*(y[n]-y[1])); printf("%.2lf\n",ans); return 0; } ``` 这样应该就过了。
by 最喜欢saber了 @ 2018-11-06 11:22:01


@[爆零蒟蒻2326](/space/show?uid=55050) 谢谢大佬指错!原来错在这,我一直以为是精度问题……
by 咪嗷呜喵 @ 2018-11-06 11:31:11


``` #include<bits/stdc++.h> #define PI 3.1415926535897932384626433 using namespace std; int main(){ int n; double r,ans=0,x[100],y[100]; cin>>n>>r>>x[0]>>y[0]; ans=2*r*PI; for(register int i=1;i<n;i++){ scanf("%lf",x+i,y+i); int sx=x[i]-x[i-1],sy=y[i]-y[i-1]; ans+=sqrt(sx*sx+sy*sy); } ans+=sqrt((x[n-1]-x[0])*(x[n-1]-x[0])+(y[n-1]-y[0])*(y[n-1]*y[0])); printf("%.2lf",ans); return 0; } ``` 我这又是什么鬼??49党。
by __OccDreamer__ @ 2019-07-26 21:46:37


|