博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
poj 2318 计算几何
阅读量:5144 次
发布时间:2019-06-13

本文共 969 字,大约阅读时间需要 3 分钟。

题意也就是:一个矩形被n条线段分成n+1份,每条线段各不相交,给出几个点落在矩形内部,问各个部分有几个点。

由于各个部分各不相交,线段的上、下端点也就排好序了,然后二分查找每个点落在线段左边的第一条线段,也就找出了落点的区域。

#include
#include
#include
using namespace std; int upLine[5001],lowLine[5001],res[5001],up,low,Left,Right; int IsLeft(int x,int y,int k) {
return (upLine[k]-lowLine[k])*(y-low)>(x-lowLine[k])*(up-low); } int load(int x,int y,int n) {
int mid,i,j; i=0;j=n; while(i
>1; if(IsLeft(x,y,mid)) j=mid; else i=mid+1; } return i-1; } int main() {
int n,m,i,s,k,w; while(scanf("%d",&n) && n) {
memset(res,0,sizeof(res)); scanf("%d %d %d %d %d",&m,&Left,&up,&Right,&low); upLine[0]=lowLine[0]=Left; for(i=1;i<=n;i++) {
scanf("%d %d",&upLine[i],&lowLine[i]); } upLine[n+1]=lowLine[n+1]=Right; for(i=0;i

转载于:https://www.cnblogs.com/yu-chao/archive/2012/02/26/2368954.html

你可能感兴趣的文章
练习jQuery
查看>>
Java面试题--基础知识部分
查看>>
编译器结构
查看>>
jvm 指令重排
查看>>
PL/SQL 游标详解
查看>>
php随机输出验证码
查看>>
压缩服务器中的文件夹,并下载到电脑
查看>>
pytorch初步学习(一):数据读取
查看>>
Android 消息推送
查看>>
关于 js 中的选择
查看>>
22Spring基于配置文件的方式配置AOP
查看>>
php-执行header('Content-type:image/png');之后,浏览器总是输出源代码
查看>>
Enterprise Library 2.0 -- Caching Application Block
查看>>
ThinkPHP 入门
查看>>
mysql 索引原理
查看>>
H5页面在微信端的分享
查看>>
学习OpenStack之 (0):基础知识
查看>>
转:DSP学习经验
查看>>
[工具]渗透神器CobaltStrike 3.1.2 K8去后门破解版 & Windows版TeamServer
查看>>
prepareEditor
查看>>