⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 2365.txt

📁 北大ACM题目例程 详细的解答过程 程序实现 算法分析
💻 TXT
字号:


#define debug 0
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<string.h>
#include<math.h>

#define INF 30000
#define NMAX 102
double R;
int N;

const double pi=3.1415926;
typedef struct
{
	double x,y;
}data;
data p[NMAX];
double dis(data t1,data t2)
{
	return sqrt((t1.x-t2.x)*(t1.x-t2.x)+(t1.y-t2.y)*(t1.y-t2.y));
}
void solve()
{
	int i;
	double ans=0;
	for(i=1;i<N;i++)
	{
		ans+=dis(p[i-1],p[i]);
	}
	ans+=dis(p[0],p[N-1]);
	ans+=2*pi*R;
	printf("%.2f",ans);
}
int main()
{

#if debug 	
	freopen("in.txt","r",stdin);
	freopen("out.txt","w",stdout);
#endif
	scanf("%d%lf",&N,&R);
	int i;
	for(i=0;i<N;i++)
		scanf("%lf%lf",&p[i].x,&p[i].y);
	if(N==1)
		printf("%.2lf",2*pi*R);
	else if(N==2)
		printf("%.2lf",2*(pi*R+dis(p[0],p[1])));
	else
		solve();
#if debug
	fclose(stdin);
	fclose(stdout);
#endif
	return 1;
}




⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -