【#define PI acos(-1.0)】【非凸包】poj 2365 Rope
這道題按順序加起來就OK了。。。
唯一要注意的就是當N==1的時候,隻輸出一個釘子的周長就ok了。。。特殊處理下就可以了
看discuss,這道題好多人用凸包做,反而錯,我現在標記一下,之後用凸包也試試。。。
另外就是#define PI acos(-1.0),可以定義π
#include <stdio.h>
#include<math.h>
#define PI acos(-1.0)
int main()
{
int N;
scanf("%d",&N);
double R;
scanf("%lf",&R);
double x,y;
double xx,yy;
double firstX,firstY;
scanf("%lf%lf",&xx,&yy);
if (N==1)
{
printf("%.2lf\n",2*PI*R);
return 0;
}
firstX=xx;
firstY=yy;
int i;
double lenth=0;
double tmpX,tmpY;
for(i=1;i<N;i++)
{
scanf("%lf%lf",&x,&y);
tmpX=x-xx;
tmpY=y-yy;
lenth+=sqrt(tmpX*tmpX+tmpY*tmpY);
xx=x;
yy=y;
}
tmpX=x-firstX;
tmpY=y-firstY;
lenth+=sqrt(tmpX*tmpX+tmpY*tmpY);
lenth+=2*PI*R;
printf("%.2lf\n",lenth);
return 0;
}
最後更新:2017-04-03 05:39:57