P1378 油滴扩展

题目描述

在一个长方形框子里,最多有\(N(0≤N≤6)\)个相异的点,在其中任何一个点上放一个很小的油滴,那么这个油滴会一直扩展,直到接触到其他油滴或者框子的边界。必须等一个油滴扩展完毕才能放置下一个油滴。那么应该按照怎样的顺序在这\(N\)个点上放置油滴,才能使放置完毕后所有油滴占据的总面积最大呢?(不同的油滴不会相互融合)

输入输出格式

输入格式:

第1行一个整数N。

第2行为长方形边框一个顶点及其对角顶点的坐标,\(x,y,x’,y’\)。

接下去\(N\)行,每行两个整数\(x_i,y_i\),表示盒子的\(N\)个点的坐标。

以上所有的数据都在\([-1000,1000]\)内。

输出格式:

一行,一个整数,长方形盒子剩余的最小空间(结果四舍五入输出)


爆搜一下即可,这个幽默的数据。

然而,它居然问的是最小空间!!!!

我输出了最大面积。。。。

而且样例给的最小空间居然等于最大面积,绝对故意的。。。


code:

#include <cstdio>
#include <cmath>
const int N=7;
const double pi=3.1415926;
int up,ri,le,dow,x[N],y[N],n;
double fmax(double a,double b) {return a>b?a:b;}
double fmin(double a,double b) {return a<b?a:b;}
int min(int a,int b) {return a<b?a:b;}
int abs(int a) {return a>0?a:-a;}
int used[N];
double yuan[N],ans=0,dis[N][N];//圆的半径 double get(int a,int b)
{
return sqrt((x[a]-x[b])*(x[a]-x[b])+(y[a]-y[b])*(y[a]-y[b]));
} void init()
{
for(int i=1;i<=n;i++)
for(int j=1;j<=n;j++)
dis[i][j]=get(i,j);
} double get(int id)
{
double rm=1e300;
rm=min(min(x[id],ri-x[id]),min(y[id],up-y[id]));
for(int i=1;i<=n;i++)
if(yuan[i]!=0)
rm=fmin(dis[id][i]-yuan[i],rm);
return fmax(0.0,rm);
} void dfs(int dep)
{
if(dep==n+1)
{
double sum=0;
for(int i=1;i<=n;i++)
sum+=yuan[i]*yuan[i]*pi;
ans=fmax(sum,ans);
return;
}
for(int i=1;i<=n;i++)
if(!used[i])
{
used[i]=1;
yuan[i]=get(i);
dfs(dep+1);
yuan[i]=0.0;
used[i]=0;
}
} int main()
{
int x1,y1,x2,y2;
scanf("%d",&n);
scanf("%d%d%d%d",&x1,&y1,&x2,&y2);
up=abs(y1-y2),ri=abs(x1-x2);
le=min(x1,x2),dow=min(y1,y2);
for(int i=1;i<=n;i++)
{
scanf("%d%d",x+i,y+i);
x[i]-=le,y[i]-=dow;
}
init();
dfs(1);
ans=double(up*ri)-ans;
int an=int(ans+0.5);
printf("%d\n",an);
return 0;
}

2018.5.20

洛谷 P1378 油滴扩展 改错的更多相关文章

  1. 洛谷P1378 油滴扩展(搜索)

    洛谷P1378 油滴扩展 直接暴力搜索更新答案就可以了. 时间复杂度为 \(O(n!)\) . #include<stdio.h> #include<stdlib.h> #in ...

  2. 洛谷P1378 油滴扩展

    P1378 油滴扩展 题目描述 在一个长方形框子里,最多有N(0≤N≤6)个相异的点,在其中任何一个点上放一个很小的油滴,那么这个油滴会一直扩展,直到接触到其他油滴或者框子的边界.必须等一个油滴扩展完 ...

  3. 洛谷 P1378 油滴扩展

    P1378 油滴扩展 题目描述 在一个长方形框子里,最多有N(0≤N≤6)个相异的点,在其中任何一个点上放一个很小的油滴,那么这个油滴会一直扩展,直到接触到其他油滴或者框子的边界.必须等一个油滴扩展完 ...

  4. 洛谷 P1378 油滴扩展 Label:搜索

    题目描述 在一个长方形框子里,最多有N(0≤N≤6)个相异的点,在其中任何一个点上放一个很小的油滴,那么这个油滴会一直扩展,直到接触到其他油滴或者框子的边界.必须等一个油滴扩展完毕才能放置下一个油滴. ...

  5. 洛谷P1378油滴扩展

    题目描述 在一个长方形框子里,最多有N(0≤N≤6)个相异的点,在其中任何一个点上放一个很小的油滴,那么这个油滴会一直扩展,直到接触到其他油滴或者框子的边界. 必须等一个油滴扩展完毕才能放置下一个油滴 ...

  6. 洛谷1378 油滴扩展 dfs进行回溯搜索

    题目链接:https://www.luogu.com.cn/problem/P1378 题目中给出矩形的长宽和一些点,可以在每个点放油滴,油滴会扩展,直到触碰到矩形的周边或者其他油滴的边缘,求出剩余面 ...

  7. P1378 油滴扩展——搜索小记

    P1378 油滴扩展 记得这道题好久以前(好像是上个学期?) 就想做了,但是看着里面的半径边界好像很难处理就没做(主要是当时刚学OI(菜还给自己找借口)): 今天上午一直研究SG函数,做的都自闭了,晚 ...

  8. [动态规划]P1378 油滴扩展

    题目描述 在一个长方形框子里,最多有N(0≤N≤6)个相异的点,在其中任何一个点上放一个很小的油滴,那么这个油滴会一直扩展,直到接触到其他油滴或者框子的边界.必须等一个油滴扩展完毕才能放置下一个油滴. ...

  9. P1378 油滴扩展

    题目描述 在一个长方形框子里,最多有N(0≤N≤6)个相异的点,在其中任何一个点上放一个很小的油滴,那么这个油滴会一直扩展,直到接触到其他油滴或者框子的边界.必须等一个油滴扩展完毕才能放置下一个油滴. ...

随机推荐

  1. Luogu P2482 [SDOI2010]猪国杀

    这道题在模拟界地位不亚于Luogu P4604 [WC2017]挑战在卡常界的地位了吧. 早上到机房开始写,中间因为有模拟赛一直到1点过才正式开始码. 一边膜拜CXR dalao一边写到3点左右,然后 ...

  2. 渐进式 JavaScript 框架--Vue

      前  言   灵活 不断繁荣的生态系统,可以在一个库和一套完整框架之间自如伸缩. 高效 20kB min+gzip 运行大小超快虚拟 DOM 最省心的优化 1 计算属性 计算属性关键词: comp ...

  3. VS2015安装及单元测试

    今天跟大家分享一下我的VS2015的安装过程以及对单元测试的操作步骤.VS2015是一款非常好用的编程软件,内容很多很广泛,是深受欢迎的一款软件,较之于VC++6.0有着一些好处,对VC6.0++来说 ...

  4. 个人博客-week7

    团队任务收获及个人感想 团队任务已经进行了一个多月的时间,我很荣幸能和软剑攻城队的小伙伴们度过这一个月的开发时光.在这一个月的时间里,我亲身经历了一个软件从想法到实现,从创意到实体的过程.同时我也在和 ...

  5. Scrum Meeting 7

                第七次会议 No_00:工作情况 No_01:任务说明 待完成 已完成 No_10:燃尽图 No_11:照片记录 待更新 No_100:代码/文档签入记录 No_101:出席表 ...

  6. action中session的存取

    存 ActionContext.getContext().getSession().put("teacherlist", teacherlist); 取 teacherlist=( ...

  7. 使用thinkphp框架实现Excel导入数据库

    之前讲过php实现Excel导出数据库的随笔,链接:https://www.cnblogs.com/nuanai/p/6727711.html 之前的项目用到较多的就是Excel导出,现在用到了Exc ...

  8. HTML 页面的 批量删除的按钮

    function delAll(){ var sid=""; $("[name='ids']:checked").each(function(){ sid+=$ ...

  9. Windows samba history

    https://blogs.technet.microsoft.com/josebda/2013/10/02/windows-server-2012-r2-which-version-of-the-s ...

  10. HP 4411s Install Red Hat Enterprise Linux 5.8) Wireless Driver

    pick up from http://blog.163.com/wangkangming2008%40126/blog/static/78277928201131994053617/ # cp iw ...