(hdu 7.1.7)Wall(求凸包的周长――求将所有点围起来的最小凸多边形的周长)(二)

2015-07-20 17:10:21 · 作者: · 浏览: 10
] = a[i];//江当前点进栈 } return newn;//返回栈顶指针 } int main(){ int t; scanf("%d",&t); while(t--){ scanf("%d %lf",&n,&l); int i; for(i = 0 ; i < n ; ++i){ scanf("%lf %lf",&p[i].x,&p[i].y); } n = convex_hull(p,n,p); p[n] = p[0]; double ans = 0; for(i = 0 ; i < n ; ++i){//求凸包的周长 ans += dis(p[i],p[i+1]); } ans += 2*pi*l;//加上外面围墙的周长 /** * "."后面的是小数精度控制,这里因为是浮点型,则取零代表不显示小数点(取整) * .不为零时代表最大小数位数 */ printf("%.0lf\n",ans); if(t != 0){//每个输出后面都要跟一个换行 printf("\n"); } } return 0; }

?

?

?