HDU-1348 Wall 凸包
来源:互联网 发布:linux c 读写ini文件 编辑:程序博客网 时间:2024/04/30 05:37
#include<stdio.h>#include<algorithm>#include<math.h>using namespace std;const int maxn = 1005;#define PI 3.14159265int n,r;struct Point{double x,y;Point( double x = 0,double y = 0 ): x(x),y(y) { }}point[maxn],ch[maxn];typedef Point Vector;bool cmp( Point A,Point B ){ //return A.x < B.x || ( A.x == B.x && A.y < B.y ); if( A.x == B.x ) return A.y < B.y; return A.x < B.x;}double Cross( Vector A,Vector B ){return A.x * B.y - A.y * B.x;}Vector operator - ( Vector A,Vector B ){return Vector( A.x - B.x,A.y - B.y );}double getDis( Point A,Point B ){ return sqrt( (A.x - B.x)*(A.x - B.x) + ( A.y - B.y )*( A.y - B.y ) );}int ConvexHull(){ sort( point,point+n,cmp );int m = 0;for( int i = 0; i < n; i ++ ){while( m > 1 && Cross( ch[m-1]-ch[m-2],point[i]-ch[m-2] ) <= 0 )m --;ch[m++] = point[i];}int k = m;for( int i = n-2; i >= 0; i -- ){while( m > k && Cross( ch[m-1]-ch[m-2],point[i]-ch[m-2] ) <= 0 )m --;ch[m++] = point[i];}if( n > 1 )m --;return m;}int main(){int C;scanf("%d",&C);while( C -- ){scanf("%d%d",&n,&r);for( int i = 0; i < n; i ++ )scanf("%lf%lf",&point[i].x,&point[i].y); int m = ConvexHull(); double dis = 0; for( int i = 1; i < m; i ++ ) dis += getDis( ch[i],ch[i-1] ); dis += getDis( ch[m-1],ch[0] ); dis += 2 * PI * r; printf("%.0lf\n",dis); if( C ) puts("");}return 0;}
0 0
- HDU-1348 Wall 凸包
- Hdu 1348 Wall 凸包
- hdu-1348 Wall(凸包)
- hdu 1348 Wall(凸包模板)
- hdu 1348 Wall 凸包模板题
- HDU 1348 Wall 凸包的周长
- hdu 1348 Wall (凸包模板)
- [HDU 1348] Wall 凸包周长
- [hdu 1348] Wall · 凸包
- hdu 1348 Wall (凸包模板)
- HDU Wall(凸包)
- POJ 1113 || HDU 1348: wall(凸包问题)
- hdu 1348 Wall(凸包模板题 Graham)
- HDU 1348 Wall(凸包模板题)
- hdu 1348 wall (计算几何,凸包)
- POJ 1113 && HDU 1348 Wall(凸包)
- 凸包入门之卷包裹法 & hdu 1348 wall
- HDU 1348 Wall 标准凸包 Graham-Scan算法
- flash图片消除锯齿,任意缩放不会出现失真现象
- 在linux用wget直接下载JDK
- 得到window区域位置
- python random
- 自适应多级Iframe高度
- HDU-1348 Wall 凸包
- android跨语言之数据共享
- hdu2688树状数组
- 面向集团客户云计算运营平台的运营开通技术方案及应用架构——之云计算运营平台方案(三)
- 【USACO 2013 March Gold】奶牛逃跑
- 源码安装php5.5.7 php-fpm和xcache,以及xcache管理后台
- ServerSocket和Socket建立通信(服务器和客户端循环接收发送)
- Qt中请string,int, char , QBattyArray的转换
- Flex与Flash的关系