【#define PI acos(-1.0)】【非凸包】poj 2365 Rope

来源:互联网 发布:linux下vim配置 编辑:程序博客网 时间:2024/06/07 06:28

这道题按顺序加起来就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;}


0 0
原创粉丝点击