题解:

暴力枚举顺序

然后计算几何

代码:

#include<bits/stdc++.h>
int n,id[],lp=;
double v1,v2,ans=1e10;
struct pos
{
double x,y;
void init(){scanf("%lf%lf",&x,&y);}
pos operator+(pos a){return (pos){x+a.x,y+a.y};}
pos operator-(pos a){return (pos){x-a.x,y-a.y};}
pos operator*(double a){return (pos){x*a,y*a};}
double operator*(pos a){return x*a.y-y*a.x;}
double dot(pos a){return x*a.x+y*a.y;}
double abs(){return sqrt(x*x+y*y);}
}ps[];
double mn,mx;
struct line
{
pos a,b;
void chk(line w)
{
double c=w.b*b;
if(c==)return;
c=(a*w.b+w.b*w.a)/c;
if(c>0.5)c<mx&&(mx=c);
else c>mn&&(mn=c);
}
}ls[],l0[];
int main()
{
scanf("%lf%lf%d",&v1,&v2,&n);
for (int i=;i<=n;i++)ps[i].init(),id[i]=i;
ps[n+]=ps[];
pos p1=(pos){,},p2=(pos){v1,},p3=(pos){v1,v2},p4=(pos){,v2};
ls[lp++]=(line){p1,p2-p1};
ls[lp++]=(line){p2,p3-p2};
ls[lp++]=(line){p3,p4-p3};
ls[lp++]=(line){p4,p1-p4};
for (int i=;i<=n;++i)l0[i]=(line){ps[i],ps[i+]-ps[i]};
do
{
lp=;
double s=;
for (int i=;i<=n;i++)
{
int w=id[i];
mn=-1e10,mx=1e10;
for (int j=;j<lp;j++)l0[w].chk(ls[j]);
ls[lp++]=l0[w];
s+=(mx-mn)*l0[w].b.abs();
}
if (s<ans)ans=s;
}while(std::next_permutation(id+,id+n+));
printf("%.3f",ans);
return ;
}

最新文章

  1. (0)ASP.NET Core 简单介绍 和开发环境搭建 - ASP.NET从MVC5升级到MVC6
  2. AngularJs $resource 高大上的数据交互
  3. ubuntu: NO_PUBKEY 8D5A09DC9B929006
  4. DevExpress GridView中加入CheckBox方法
  5. Dev 饼图
  6. hdu 1575 矩阵快速幂模板
  7. 递推DP URAL 1017 Staircases
  8. Yii框架第一步-- 安装
  9. Java向PostgreSQL发送prepared statement 与 libpq 向PostgreSQL发送prepared statement之比较:
  10. 一步步学习ASP.NET MVC3 (6)——@helper,@functions
  11. php 之 post json 数据
  12. (原)使用opencv的warpAffine函数对图像进行旋转
  13. android 为TextView添加边框
  14. 【TensorFlow篇】--Tensorflow框架可视化之Tensorboard
  15. 数据类型、运算符及Scanner类练习
  16. 进程篇:wait & waitpid
  17. 有趣的CSS3背景 斜条纹
  18. 使用Adobe Audition 处理声音步骤
  19. 重置密码解决MySQL for Linux错误 ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using passwor
  20. XMPP serverejabberd-14.12本地搭建

热门文章

  1. fedora中使用 mariadb数据库建库和建表-- mariadb数据库服务无法启动?
  2. POJ3436 ACM Computer Factory(最大流/Dinic)题解
  3. 用python + hadoop streaming 编写分布式程序(三) -- 自定义功能
  4. mysql中时间计算函数SQL DATE_SUB()用法
  5. UVa 1663 净化器
  6. ubuntu 14.04 (desktop amd 64) 安装和配置ROS Indigo
  7. Qt_QString.indesOf和mid测试
  8. 团队作业Beta冲刺-第三天
  9. export与export default exports与module.exports的用法
  10. English trip -- Review Unit6 Time 时间