#include<stdio.h>
#include<math.h>
#include<algorithm>
#include <iostream>
using namespace std;
int main()
{
int n;
double r;
cin>>n;
cin>>r;
double ans=2*3.1416*r;
double x,y,x0,y0,xs,ys;
scanf("%lf%lf",&x,&y);
xs=x;
ys=y;
for (int i=1;i<n;i++)
{
x0=x;
y0=y;
scanf("%lf%lf",&x,&y);
ans+=sqrt((x-x0)*(x-x0)+(y-y0)*(y-y0));
}
x0=xs;
y0=ys;
ans+=sqrt((x-x0)*(x-x0)+(y-y0)*(y-y0));
printf("%.2lf\n",ans);
return 0;
}
有一次遇到了C++对,g++错的情况。
求大佬解答
java也是对的
import java.util.Scanner;
public class Main {
public static void main(String[] args)
{
// TODO code application logic here
Scanner cin = new Scanner(System.in);
int n;
double r;
n=cin.nextInt();
r=cin.nextDouble();
double ans=3.1416*r*2;
double x=cin.nextDouble();
double y=cin.nextDouble();
double x0,y0;
double xs=x,ys=y;
for (int i=1;i<n;i++)
{
x0=x;
y0=y;
x=cin.nextDouble();
y=cin.nextDouble();
ans=ans+Math.sqrt(Math.abs((x-x0)*(x-x0)+(y-y0)*(y-y0)));
}
x0=xs;y0=ys;
ans=ans+Math.sqrt(Math.abs((x-x0)*(x-x0)+(y-y0)*(y-y0)));
System.out.printf("%.2f\n", ans);
}
}
真是奇怪~