TOYS

Description

Calculate the number of toys that land in each bin of a partitioned toy box. 
Mom and dad have a problem - their child John never puts his toys away when he is finished playing with them. They gave John a rectangular box to put his toys in, but John is rebellious and obeys his parents by simply throwing his toys into the box. All the toys get mixed up, and it is impossible for John to find his favorite toys. 

John's parents came up with the following idea. They put cardboard partitions into the box. Even if John keeps throwing his toys into the box, at least toys that get thrown into different bins stay separated. The following diagram shows a top view of an example toy box. 
 
For this problem, you are asked to determine how many toys fall into each partition as John throws them into the toy box.

Input

The input file contains one or more problems. The first line of a problem consists of six integers, n m x1 y1 x2 y2. The number of cardboard partitions is n (0 < n <= 5000) and the number of toys is m (0 < m <= 5000). The coordinates of the upper-left corner and the lower-right corner of the box are (x1,y1) and (x2,y2), respectively. The following n lines contain two integers per line, Ui Li, indicating that the ends of the i-th cardboard partition is at the coordinates (Ui,y1) and (Li,y2). You may assume that the cardboard partitions do not intersect each other and that they are specified in sorted order from left to right. The next m lines contain two integers per line, Xj Yj specifying where the j-th toy has landed in the box. The order of the toy locations is random. You may assume that no toy will land exactly on a cardboard partition or outside the boundary of the box. The input is terminated by a line consisting of a single 0.

Output

The output for each problem will be one line for each separate bin in the toy box. For each bin, print its bin number, followed by a colon and one space, followed by the number of toys thrown into that bin. Bins are numbered from 0 (the leftmost bin) to n (the rightmost bin). Separate the output of different problems by a single blank line.

Sample Input

5 6 0 10 60 0
3 1
4 3
6 8
10 10
15 30
1 5
2 1
2 8
5 5
40 10
7 9
4 10 0 10 100 0
20 20
40 40
60 60
80 80
 5 10
15 10
25 10
35 10
45 10
55 10
65 10
75 10
85 10
95 10
0

Sample Output

0: 2
1: 1
2: 1
3: 1
4: 0
5: 1

0: 2
1: 2
2: 2
3: 2
4: 2

 # include <cstdio>
 # include <string>
 # include <cstring>
 # include <iostream>
 using namespace std;

 int sum[5050];

 struct point
 {
     int x,y;
 };


struct Line
{
    point a,b;
}line[5500];

int foud(point x,point p1,point p2)
{
    return (x.x-p2.x)*(p1.y-p2.y)-(p1.x-p2.x)*(x.y-p2.y);
}

void search(point a,int n)
{
    int l,r,mid;
    l=0,r=n-1;
    while(l<r)
    {
        mid = (l+r) >>1;
        if(foud(a,line[mid].a,line[mid].b)>0)    l=mid+1;
        else r=mid;
    }
    if(foud(a,line[l].a,line[l].b)<0)  sum[l]++;
    else   sum[l+1]++;
}

int main()
{
    //freopen("a.txt","r",stdin);
    int n,m,x1,y1,x2,y2;
    while(~scanf("%d",&n)&&n)
    {
        scanf("%d%d%d%d%d",&m,&x1,&y1,&x2,&y2);
        int i;
        for(i=0;i<n;i++)
        {
            scanf("%d%d",&line[i].a.x,&line[i].b.x);
            line[i].a.y=y1;
            line[i].b.y=y2;
        }
        point a;
        memset(sum,0,sizeof(sum));
        for(i=0;i<m;i++)
        {
            scanf("%d%d",&a.x,&a.y);
            search(a,n);
        }
        for(i=0;i<=n;i++)  printf("%d: %d\n",i,sum[i]);
        printf("\n");
    }
    return 0;
}


### PowerToys 下载与使用指南 PowerToys 是微软推出的一套面向高级用户的实用工具集合,旨在提升生产力并解决日常办公中的常见问题。以下是关于 PowerToys 的下载和使用的详细介绍。 #### 一、PowerToys 的主要功能 PowerToys 提供了一系列强大的功能模块,适用于不同场景下的需求。常见的功能包括但不限于以下几项: - **FancyZones**: 自定义窗口布局管理器,允许用户创建自定义的屏幕区域划分方案[^2]。 - **PowerToys Run**: 快速启动应用程序或执行命令的小型搜索引擎[^1]。 - **Keyboard Manager**: 键盘映射工具,支持按键重定向以及快捷键修改[^2]。 - **Color Picker**: 屏幕取色工具,能够快速获取任意位置的颜色值。 - **Video Conference Mute**: 方便地静音麦克风或关闭摄像头,适合视频会议环境[^2]。 这些功能不仅提升了用户体验,还极大地简化了许多重复性的操作流程。 --- #### 二、PowerToys 的下载途径 PowerToys 可通过多种渠道进行下载: 1. **GitHub 官方仓库** - 访问 GitHub 页面:[https://github.com/microsoft/PowerToys](https://github.com/microsoft/PowerToys)[^4]。 - 跳转至 Releases 部分:[https://github.com/microsoft/PowerToys/releases](https://github.com/microsoft/PowerToys/releases),选择最新版本的安装包进行下载。 2. **Microsoft 官方文档** - 浏览官方文档页面:[https://docs.microsoft.com/zh-cn/windows/powertoys/](https://docs.microsoft.com/zh-cn/windows/powertoys/)。 - 点击“Install”按钮即可跳转到具体的安装指导页面[^4]。 3. **国内镜像源 (可选)** - Gitee 镜像地址:[https://gitee.com/tkqlyh/PowerToys](https://gitee.com/tkqlyh/PowerToys)[^4]。 - 对于网络条件不佳的情况,可以选择此备用资源。 --- #### 三、PowerToys 的安装方法 无论采用哪种方式获取安装文件,其基本安装过程如下所示: 1. **双击安装程序** 找到已下载的 `.exe` 文件(通常命名为 `PowertoysSetup-x.x.x.exe`),双击运行以启动安装向导[^4]。 2. **遵循安装指引** 按照界面提示完成设置,默认选项一般无需更改。如果需要调整路径或其他配置参数,则可在对应环节手动指定。 3. **验证安装成功** 安装完毕后,在任务栏右下角应能看到 PowerToys 图标;同时可以通过开始菜单搜索 “PowerToys Settings” 来访问主控面板[^4]。 --- #### 四、PowerToys 的其他安装手段 除了传统的图形化界面外,还可以借助命令行实现自动化部署: ```bash winget install --id Microsoft.PowerToys ``` 该指令需在具备管理员权限的终端环境中执行,推荐用于批量处理或者脚本集成场景[^3]。 --- ### 注意事项 - 系统兼容性方面,PowerToys 主要针对 Windows 10 和更高版本设计,部分特性可能依赖特定的操作系统更新状态[^4]。 - 若首次启用某些插件时发现异常行为,请确认是否满足最低硬件规格要求,并及时查阅错误日志排查原因[^4]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值