#include <iostream>
#include<cstdio>
#include<cstring>
#include <algorithm>
using namespace std; struct point{
int x,y;
}; struct line{
point a,b;
};
line lline[]; int cnt[];
int res[];
int cross(point p1,point p2,point p0){
return (p1.x-p0.x)*(p2.y-p0.y)-(p1.y-p0.y)*(p2.x-p0.x);
} bool cmp(line c,line d){
return c.b.x < d.b.x ;
} int main()
{
int n,m,x1,x2,y1,y2;
int t1,t2;
point c;
while(cin>>n&&n){
cin>>m>>x1>>y1>>x2>>y2;
lline[].a.x=x1,lline[].a.y=y1;
lline[].b.x=x1,lline[].b.y=y2;
lline[n+].a.x = x2,lline[n+].a.y=y1;
lline[n+].b.x = x2,lline[n+].b.y=y2;
for(int i=;i<=n;i++){
scanf("%d%d",&t1,&t2);
lline[i].a.x=t1;
lline[i].a.y=y1;
lline[i].b.x=t2;
lline[i].b.y=y2;
} sort(lline,lline+n+,cmp);
// for(int i=0;i<n+2;i++)
// cout<<lline[i].b.x<<" "<<lline[i].b.y<<" "<<lline[i].a.x<<" "<<lline[i].a.y<<endl;
memset(cnt,,sizeof(cnt));
for(int i=;i<m;i++){
cin>>c.x>>c.y;
for(int j=;j<n+;j++){
//cout<<j<<" "<<cross(c,lline[j].a,lline[j].b)<<endl;
if(cross(c,lline[j].a,lline[j].b)>){
continue;
}else{
cnt[j-]++;
break;
}
}
}
// for(int i=0;i<=n;i++)
// cout<<cnt[i]<<endl;
memset(res,,sizeof(res));
for(int i=;i<=n;i++){
res[cnt[i]]++;
}
cout<<"Box"<<endl;
for(int i=;i<=n;i++)if(res[i])
cout<<i<<": "<<res[i]<<endl;
}
return ;
}

poj 2398 计算几何的更多相关文章

  1. poj 2398 Toy Storage(计算几何)

    题目传送门:poj 2398 Toy Storage 题目大意:一个长方形的箱子,里面有一些隔板,每一个隔板都可以纵切这个箱子.隔板将这个箱子分成了一些隔间.向其中扔一些玩具,每个玩具有一个坐标,求有 ...

  2. POJ 2398 - Toy Storage 点与直线位置关系

    Toy Storage Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 5439   Accepted: 3234 Descr ...

  3. 简单几何(点与线段的位置) POJ 2318 TOYS && POJ 2398 Toy Storage

    题目传送门 题意:POJ 2318 有一个长方形,用线段划分若干区域,给若干个点,问每个区域点的分布情况 分析:点和线段的位置判断可以用叉积判断.给的线段是排好序的,但是点是无序的,所以可以用二分优化 ...

  4. 向量的叉积 POJ 2318 TOYS & POJ 2398 Toy Storage

    POJ 2318: 题目大意:给定一个盒子的左上角和右下角坐标,然后给n条线,可以将盒子分成n+1个部分,再给m个点,问每个区域内有多少各点 这个题用到关键的一步就是向量的叉积,假设一个点m在 由ab ...

  5. poj 2318 TOYS &amp; poj 2398 Toy Storage (叉积)

    链接:poj 2318 题意:有一个矩形盒子,盒子里有一些木块线段.而且这些线段坐标是依照顺序给出的. 有n条线段,把盒子分层了n+1个区域,然后有m个玩具.这m个玩具的坐标是已知的,问最后每一个区域 ...

  6. POJ 2398 Toy Storage(计算几何,叉积判断点和线段的关系)

    Toy Storage Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 3146   Accepted: 1798 Descr ...

  7. 2018.07.04 POJ 2398 Toy Storage(二分+简单计算几何)

    Toy Storage Time Limit: 1000MS Memory Limit: 65536K Description Mom and dad have a problem: their ch ...

  8. poj 2398 Toy Storage(计算几何 点线关系)

    Toy Storage Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 4588   Accepted: 2718 Descr ...

  9. POJ 2398 Toy Storage(计算几何)

    题意:给定一个如上的长方形箱子,中间有n条线段,将其分为n+1个区域,给定m个玩具的坐标,统计每个区域中的玩具个数. 题解:通过斜率判断一个点是否在两条线段之间. /** 通过斜率比较点是否在两线段之 ...

随机推荐

  1. Objective-C 类属性和方法的訪问权限

    OC中提供了4种訪问权限.@private, @public, @protected这三种和其它的C++, Java是一样的,@package这个訪问权限并非Java里的包訪问权限,OC中没有包的概念 ...

  2. js 取消listbox选中的项

    <input type="button" id="cel" value="取消选择" onclick="clearListB ...

  3. JS学习笔记(一)基本数据类型和对象类型

    js是一种弱类型的语言,所有的变量都用var进行声明,字符串用双引号或单引号括起来,常见基本数据类型为number,string,boolean等.如 var num = 123;或var num = ...

  4. vs2012新建项目产生的问题

    当用vs新建web项目时遇到

  5. 利用jquery写的一个TAB页切换效果

    函数如下 /** *切换效果 */ function switab(tab,con,tab_c_css,tab_n_css,no) { $(tab).each(function(i){ if(i == ...

  6. java中两个对象间的属性值复制,比较,转为map方法实现

    package com.franson.study.util; import java.lang.reflect.InvocationTargetException; import java.lang ...

  7. android入门——UI(3)

    Spinner控件   ListView控件 一.Spinner控件 点击Spinner会弹出一个包含所有可选值的dropdown菜单,从该菜单中可以为Spinner选择一个新值. 有两种指定数据源的 ...

  8. LayoutInflater作用及使用

    作用: 1.对于一个没有被载入或者想要动态载入的界面, 都需要使用inflate来载入. 2.对于一个已经载入的Activity, 就可以使用实现了这个Activiyt的的findViewById方法 ...

  9. sql语句中特殊函数的用法

    1.concat CONCAT(字串1, 字串2, 字串3, ...): 将字串1.字串2.字串3,等字串连在一起. 例如: Geography 表格 region_name     store_na ...

  10. Java I/O theory in system level

    参考文章: JAVA NIO之浅谈内存映射文件原理与DirectMemory Java NIO 2.0 : Memory-Mapped Files | MappedByteBuffer Tutoria ...