@[咪嗷呜喵](/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