hdu4353 Finding Mine三角形内的点数

http://acm.hdu.edu.cn/showproblem.php?pid=4353

题意:

  求多边形面积和这个多边形内的金矿数的比值的最小值。

  当xi<xj<xk时:

  三角形内的点数=|ik上方的点-(ij上方的点+jk上方的点)|

 1 #include <iostream>
 2 #include <cstdio>
 3 #include <algorithm>
 4 using namespace std;
 5 const int Ni = 205;
 6 const int Mi = 505;
 7 int n,m;
 8 double mx;
 9 struct node{
10     int x,y;//注意数据的范围,是否超int
11     bool operator < (const node &a) const
12     {
13         return x<a.x;
14     }
15 }a[Ni],b[Mi];
16 int sum[Ni][Ni];
17 inline double fabs(double a)
18 {
19     if(a>1e-8) return a;
20     if(-a>1e-8) return -a;
21     return 0;
22 }
23 bool cross(int i,int j,int k)
24 {
25     if(0<(a[j].x-a[i].x)*(b[k].y-a[i].y)-(a[j].y-a[i].y)*(b[k].x-a[i].x))
26         return 1;
27     else return 0;
28 }
29 inline int area(int i,int j,int k)
30 {
31     return (a[j].x-a[i].x)*(a[k].y-a[i].y)-(a[j].y-a[i].y)*(a[k].x-a[i].x);
32 }
33 inline bool judge(int i,int j,int k)
34 {
35     if(a[i].x<b[k].x&&b[k].x<=a[j].x){
36         if(cross(i,j,k)) return 1;
37     }
38     return 0;
39 }
40 void finds()
41 {
42     int i,j,k;
43     for(i=0;i<n;i++)
44     for(j=i+1;j<n;j++)
45     {
46         sum[i][j]=0;
47         for(k=0;k<m;k++) if(judge(i,j,k))
48             sum[i][j]++;
49     }
50     mx=1<<27;
51     for(i=0;i<n;i++)
52     for(j=i+1;j<n;j++)
53     for(k=j+1;k<n;k++)
54     {
55         int ans=sum[i][k]-sum[i][j]-sum[j][k];
56         double s=area(i,j,k);
57         if(ans&&(s=fabs(s/ans))<mx)
58         {
59              mx=s;
60         }
61     }
62 }
63 int main()
64 {
65     int cs=1,tcs,i;
66     scanf("%d",&tcs);
67     while(tcs--)
68     {
69         scanf("%d%d",&n,&m);
70         for(i=0;i<n;i++) scanf("%d%d",&a[i].x,&a[i].y);
71         sort(a,a+n);
72         for(i=0;i<m;i++) scanf("%d%d",&b[i].x,&b[i].y);
73         finds();
74         if(mx!=1<<27)
75             printf("Case #%d: %lf\n",cs++,mx/2);
76         else
77             printf("Case #%d: -1\n",cs++);
78     }
79     return 0;
80 }

 

转载于:https://www.cnblogs.com/qijinbiao/archive/2012/08/25/2655645.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/434297.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

手机连接投影机的步骤_家用投影仪如何安装 家用投影仪安装方法【步骤详解】...

家用投影仪怎么安装 根据安装方式的不同&#xff0c;投影仪可以分为桌式正投、吊顶正投、桌式背投、吊顶背投几种。方便随时随地使用的便携式投影仪一般是桌式正投&#xff0c;这种投影方法受环境光影响较大 但如果装修时就设计成吊顶正投方式&#xff0c;不仅在性价比方面更加…

insmod 和modprobe的区别

insmod 与 modprobe 都是载入 kernel module&#xff0c;不过一般差别于 modprobe 能够处理 module 载入的相依问题。比方你要载入 a module&#xff0c;但是 a module 要求系统先载入 b module 时&#xff0c;直接用 insmod 挂入通常都会出现错误讯息&#xff0c;不过 modprob…

win7锁屏时间怎么设置_电脑锁屏时间怎么设置

以WIN10系统为例演示。1/3打开“控制面板”&#xff1b;点击“电源选项”2/3点击“更改计划设置”&#xff1b;设置锁屏时间3/3点击“保存修改”即可

Ajax原理

引用&#xff1a;http://www.cnblogs.com/xugang/archive/2007/10/16/925993.html 看了“坐断东南 笑煞之”的那篇 .net组件开发系列(二)之武林系列 太极拳 开发ajax控件 总有一种意犹味尽的感觉。没有想到 金色海洋&#xff08;jyk&#xff09;竟“晕了”&#xff0c;我感觉写…

cdh界面 hue 配置hbase_海量数据存储技术之HBase:使用HBase Shell操纵HBase

Apache HBase Shell是JRuby的IRB&#xff0c;并在此基础上加入了HBase特有的命令。JRuby是用Java实现的Ruby解释器。通过JRuby&#xff0c;你可以在JVM上直接运行Ruby程序&#xff0c;调用Java的类库。IRB即interactive ruby&#xff0c;交互式Ruby。运行HBase Shell&#xff1…

安卓 图像清晰度识别_智能车牌识别系统的常见故障和解决方法

车牌号是车辆的唯一身份标志&#xff0c;它的特殊性与重要性从而决定了车牌识别系统在智慧城市交通管理系统中成为不可或缺的重要组成部分。下面智能车牌识别系统厂家畅荧智能科技将详细为您介绍一些智能车牌识别系统常见的故障问题和对应的解决方法。智能车牌识别系统的常见故…

asterisk使用SIP相互对接

当用户数量上去,单凭一台asterisk是很能支持庞大的用户群体,所以要根据用户量来部署多台asterisk来应付实际情况的需求.但部署多台asterisk所带来的一个问题就是A服务器的用户如果Call B服务器的用户呢?其实asterisk的设计者早已帮我们解决问题,以下是通过SIP把两台asterisk对…

企业技术

缓存使用条件&#xff1a; 1.访问量大 2.数据不经常更新 缓存缺点&#xff1a;容易产生【脏数据】--- 即&#xff1a;当用户第一次访问页面&#xff0c;读取数据库&#xff0c;并将数据存入缓存后&#xff0c;在该缓存失效前&#xff0c;其他访问都是读取缓存中的数据&#xf…

post postman 传递数组对象_如何使用postman做接口测试

一&#xff0c;接口测试是什么什么是接口测试&#xff0c;不说广泛的概念&#xff0c;直接电脑打开浏览器&#xff0c;进入开发者工具(F12)随意进入一些网站可以看到下面左侧栏出现了一系列的数据&#xff1a;上面条数据都是一个单独的接口&#xff0c;点击单个接口&#xff0c…

形位公差符号大全_玩转CAD快捷键(大全),一篇文章就够了

CAD快捷键命令大全符号键&#xff08;CTRL开头&#xff09;CTRL1 PROPCLOSEOROPEN 对象特性管理器CTRL2或4 ADCENTER 设计中心CTRL3 CTOOLPALETTES 工具选项板CTRL8或QC QuickCalc 快速计算器控制键CTRLA AI_SELALL 全部选择CTRLC或CO/CP COPYCLIP或COpy 复制CTRLD或F6 COORDIN…

Ubuntu 13.10配置root登录

Ubuntu 13.10默认是不允许使用root登录的&#xff0c;要想使用root权限&#xff0c;就必须使用 sudo 命令来执行&#xff0c;很繁琐。 要解决这个问题&#xff0c;需要两个步骤&#xff1a; 1、设置root密码&#xff0c;开启root账号 ubuntu默认的root密码据说是每隔5min就…

三极管驱动(讲的比较好)

http://wenku.baidu.com/view/9861c63310661ed9ad51f350.html转载于:https://www.cnblogs.com/tureno/articles/2668968.html

k近邻算法_K近邻(knn)算法是如何完成分类的?

摘要&#xff1a;K近邻算法是机器学习中的一个非常基础的算法。本文通过自生成数据&#xff0c;通过绘图的方式演示KNN算法的思路&#xff0c;让你不看数学公式就看了解什么是KNN算法。关键词&#xff1a;KNN算法1 生成一个二分类的数据集本文很多内容参考文献[1]。先生成一个两…

登录不上_《盗贼之海》登录不上?还在傻傻等待,快来让我教教你

大家都对这款海盗题材的游戏《盗贼之海》有兴趣了吧&#xff0c;相信大家都入手了它&#xff0c;但是也有很多朋友在入手后遇见了很多问题&#xff0c;别怕&#xff0c;今天干货来了&#xff0c;手把手教你。保证你流畅游戏&#xff0c;快人一步。我看见很多朋友都在问&#xf…

为Ubuntu安装build-essential软件包

Ubuntu缺省情况下&#xff0c;并没有提供C/C的编译环境&#xff0c;因此还需要手动安装。 如果单独安装gcc以及g比较麻烦&#xff0c;幸运的是&#xff0c;为了能够编译Ubuntu的内核&#xff0c;Ubuntu提供了一个build-essential软件包。 查看该软件包的依赖关系&#xff0c;可…

__dopostback

转载&#xff1a; 首先要记住这个函数的前面是两个下划线. __doPostBack "_" "_" "doPostBack". 再介绍一下__doPostBack函数的作用。我们先来看一下_doPostBack函数的内容&#xff1a; <div><input type"hidden" name&quo…

苹果X可以升级5G吗_苹果x可以用5g网络吗

随着5G网络的逐渐商用&#xff0c;越来越多5G原型机和量产机都即将推出&#xff0c;那么苹果iPhone X能够支持5G网络吗&#xff1f;下面就为您带来苹果iPhone x可以用5G网络吗的相关介绍&#xff0c;希望以上的介绍能够帮助到您。苹果x可以用5g网络吗1、iPhone X并不支持5G网络…

提交显示成功但是没有看到文件_如何向RTThread提交一个BSP?

RT-Thread今天的快速发展和所取得成绩&#xff0c;离不开所有开发者的持续贡献和社区小伙伴的竭力支持。一、前言今年6月&#xff0c;我在一款智能混合型的FPGA芯片上&#xff0c;完成了RT-Thread的移植&#xff0c;并向RT-Thread提交了一个完整的BSP&#xff0c;后续又根据审查…

asterisk语音信箱voicemail.conf

asterisk 里面配置voicemail首先需要在voicemail.conf里面配置mailbox&#xff0c;mailbox的格式如下配置&#xff1a; voicemail.conf: [testmail] ;context edwin>1234, edwin chen, edwintestmail.com ;edwin:用户名&#xff0c;1234:密码&#xff0c;edwinchen :全名…

WinForm中使用WPF的控件

在WinForm中可以使用WPF中的控件&#xff0c;或者由WPF创建的自定义控件&#xff1b; 步骤1&#xff1a;创建WinForm工程&#xff1b; 步骤2&#xff1a;在WinForm工程的解决方案资源管理器中&#xff0c;在刚刚创建的WinForm解决方案中新建或者添加现有的WPF用户控件工程&…