接替关键:和上题类似,输出不同,注意输入这道题需要排序。

#include<cstdio>
#include<cstring>
#include<algorithm>
#include<cstdlib>
#include<cmath>
#include<iostream>
using namespace std;
typedef long long ll;
struct point{
int x,y;
};
int n,m,x1,x2,y11,y2;
struct Line{
point a,b;
}A[];
double operator*(point p1,point p2){return p1.x*p2.y-p2.x*p1.y;}
point operator-(point A,point B){return {A.x-B.x,A.y-B.y};}
int pos[];
bool judge(point t,int mid){//叉积
point tt=A[mid].b-A[mid].a;
int ans=tt*(t-A[mid].a);
return ans<;
}
bool cmp(Line a,Line b){
return a.a.x<b.a.x;
} int erfen(point xx){
int l=,r=n;
while(l<r){
int mid=(l+r)>>;
if(judge(xx,mid)) r=mid;
else l=mid+;
}
return r;
} int num[];
int main(){
while(scanf("%d",&n)!=EOF&&n){
scanf("%d%d%d%d%d",&m,&x1,&y11,&x2,&y2);
for(int i=;i<n;i++){
int xd,xu;
scanf("%d%d",&xu,&xd);
A[i]={{xu,y11},{xd,y2}};
}
sort(A,A+n,cmp);
memset(pos,,sizeof pos);
for(int i=;i<m;i++){
int xx,yy;
scanf("%d%d",&xx,&yy);
point t={xx,yy};
int ans=erfen(t);
pos[ans]++;
}
memset(num,,sizeof num);
for(int i=;i<=;i++){
if(pos[i]) num[pos[i]]++;
}
printf("Box\n");
for(int i=;i<=;i++){
if(!num[i]) continue;
printf("%d: %d\n",i,num[i]);
}
}
return ;
}

[poj2398]Toy Storage的更多相关文章

  1. poj2398 Toy Storage 计算几何,叉积,二分

    poj2398 Toy Storage 链接 poj 题目大意 这道题的大概意思是先输入6个数字:n,m,x1,y1,x2,y2.n代表卡片的数量,卡片竖直(或倾斜)放置在盒内,可把盒子分为n+1块区 ...

  2. [POJ2398]Toy Storage(计算几何,二分,判断点在线段的哪一侧)

    题目链接:http://poj.org/problem?id=2398 思路RT,和POJ2318一样,就是需要排序,输出也不一样.手工画一下就明白了.注意叉乘的时候a×b是判断a在b的顺时针还是逆时 ...

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

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

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

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

  5. POJ 2318 TOYS && POJ 2398 Toy Storage(几何)

    2318 TOYS 2398 Toy Storage 题意 : 给你n块板的坐标,m个玩具的具体坐标,2318中板是有序的,而2398无序需要自己排序,2318要求输出的是每个区间内的玩具数,而231 ...

  6. Toy Storage

    Toy Storage 题型与2318 TOYS一样,注意要对线段排序,现在模板又更新了~~ #include<iostream> #include<cstdio> #incl ...

  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: 4104   Accepted: 2433 ...

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

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

随机推荐

  1. winform里面的label怎么样实现,字上删除的效果

    label属性里的Font方法理由 Strikeout 选成True 就行了 button1_Click(object sender, EventArgs e) { Graphics g = Grap ...

  2. 卸载 Oracle 的 JDK

    mac $ java -version java version "1.8.0_66" Java(TM) SE Runtime Environment (build 1.8.0_6 ...

  3. 【51Nod】-1326 遥远的旅途

    Description 一个国家有 N 个城市, 这些城市被标为 0,1,2,...N-1. 这些城市间连有 M 条道路, 每条 道路连接两个不同的城市, 且道路都是双向的. 一个小鹿喜欢在城市间沿着 ...

  4. Java tutorial 02

    一.EnumTest.java枚举类型 public class EnumTest { public static void main(String[] args) { Size s=Size.SMA ...

  5. GridView的简单使用

    测试代码: activity_main.xml: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/a ...

  6. LeetCode OJ:Largest Number(最大数字)

    Given a list of non negative integers, arrange them such that they form the largest number. For exam ...

  7. poj2336

    题目大意:一个船要把n个车渡过河  船最多载m辆车  把车运过去需要t的时间 回来也要t的时间 给定n辆车依次到河边的时间 求最短运送时间  还有最短跑几趟 一维dp  可以直接d运送时间 dp[i] ...

  8. GC(Garbage Collection)垃圾回收机制

    1.在垃圾回收器中,程序员没有执行权,只有通知它的权利. 2.程序员可以通过System.gc().通知GC运行,但是Java规范并不能保证立刻运行. 3.finalize()方法,是java提供给程 ...

  9. C#进阶之路(五):Linq初识

    关于LINQ的文章,网上有很多,所以这篇文章我主要是总结下我自己的学习心得. 首先需要先了解的相关技术 1.隐式类型.匿名类型.对象初始化器 1)隐式类型,使用var关键字创建,C#编译器会根据用于初 ...

  10. RabbitMQ在windows环境下的安装

    最近一直想入手一台电脑,作为linux服务器,由于经济状况也没有入手,现在就先介绍windows环境下安装rabbitMQ. RabbitMQ是什么 ? RabbitMQ是一个在AMQP基础上完整的, ...