织女的红线

import java.util.*;
public class Main{
	public static void main(String[] args) {
		Scanner sc=new Scanner(System.in);
		int n=sc.nextInt();
		int r=sc.nextInt();
		double x[]=new double[112];
		double y[]=new double[112];
		int i;
		for(i=0;i<n;i++) {
			x[i]=sc.nextDouble();
			y[i]=sc.nextDouble();
		}
        double d[]=new double[112];
        for(i=1;i<n;i++) {
        	double a=(y[i]-y[i-1])*(y[i]-y[i-1])+(x[i]-x[i-1])*(x[i]-x[i-1]);
        	d[i]=Math.sqrt(a);
        }
        d[0]=Math.sqrt((y[n-1]-y[0])*(y[n-1]-y[0])+(x[n-1]-x[0])*(x[n-1]-x[0]));
        double sum=0;
        for(i=0;i<n;i++) {
        	sum+=d[i];
        }
        
        sum=sum+2*r*Math.PI;
        System.out.printf("%.2f\n",sum);
        
        sc.close();
	}
}

相关文章: