https://vijos.org/p/1007
分析:刚开始没看到逆时针,后来发现是道sb题。。。长度=钉子周长+多边形周长
#include<iostream> #include<cmath> #include<iomanip> using namespace std; const int maxn=110; const double pi=3.14159; double x[maxn],y[maxn]; int main(){ int n; double ans=0,r; cin>>n>>r; cin>>x[1]>>y[1]; for(int i=2;i<=n;++i){ cin>>x[i]>>y[i]; ans+=sqrt((x[i]-x[i-1])*(x[i]-x[i-1])+(y[i]-y[i-1])*(y[i]-y[i-1])); } ans+=sqrt((x[n]-x[1])*(x[n]-x[1])+(y[n]-y[1])*(y[n]-y[1])); ans+=pi*2*r; cout<<fixed<<setprecision(2)<<ans; return 0; }
时间: 2024-10-13 07:37:58