这道题和POJ 2318几乎是一样的。

区别就是输入中坐标不给排序了,=_=||

输出变成了,有多少个区域中有t个点。

 #include <cstdio>
#include <cmath>
#include <cstring>
#include <algorithm>
using namespace std; struct Point
{
int x, y;
Point(int x=, int y=):x(x), y(y) {}
};
typedef Point Vector; Point read_point()
{
int x, y;
scanf("%d%d", &x, &y);
return Point(x, y);
} Point operator + (const Point& A, const Point& B)
{ return Point(A.x+B.x, A.y+B.y); } Point operator - (const Point& A, const Point& B)
{ return Point(A.x-B.x, A.y-B.y); } int Cross(const Point& A, const Point& B)
{ return A.x*B.y - A.y*B.x; } const int maxn = + ;
int up[maxn], down[maxn], ans[maxn];
int n, m;
Point A0, B0; int binary_search(const Point& P)
{
int L = , R = n;
while(L < R)
{
int mid = L + (R - L + ) / ;
Point A(down[mid], B0.y), B(up[mid], A0.y);
Vector v1 = B - A;
Vector v2 = P - A;
if(Cross(v1, v2) < ) L = mid;
else R = mid - ;
}
return L;
} int main()
{
//freopen("in.txt", "r", stdin); while(scanf("%d", &n) == && n)
{
memset(ans, , sizeof(ans)); scanf("%d", &m); A0 = read_point(); B0 = read_point();
for(int i = ; i <= n; ++i) scanf("%d%d", &up[i], &down[i]);
sort(up + , up + + n); sort(down + , down + + n);
for(int i = ; i < m; ++i)
{
Point P; P = read_point();
int pos = binary_search(P);
ans[pos]++;
}
sort(ans, ans + n + ); puts("Box");
int i;
for(i = ; i <= n; ++i) if(ans[i]) break;
while(i <= n)
{
int cnt = ;
int num = ans[i];
while(i <= n && ans[i+] == ans[i]) { i++; cnt++; }
i++;
printf("%d: %d\n", num, cnt);
}
} return ;
}

代码君

最新文章

  1. Stack的三种含义
  2. 安卓中級教程(10):@InjectView
  3. 八皇后—Java
  4. Redis - 发布和订阅
  5. CCNA 6.3
  6. 《Code Complete》ch.24 重构
  7. 比特币钱包应用breadwallet源码
  8. MySQL中字符串函数详细介绍
  9. IEnumerable、IEnumerator与yield的学习
  10. Eclipse不能自动编译 java文件,不会生成CLASS
  11. linxu安装OSX
  12. apache+mysql+php环境的手动搭建
  13. SQL Server 行转列,列转行。多行转成一列
  14. Lesson 1-1
  15. QTP 自动货测试桌面程序-笔记 (单据-下拉框选择、对话框 、菜单)
  16. django AnonymousUser
  17. 查看和杀死进程ps
  18. Android 自定义 View 知识点
  19. java web 复选框checked
  20. jsonObject的一些方法

热门文章

  1. centos 编程环境
  2. [知识整理]Java集合
  3. Apache HttpAsyncClient 如何设置per request timeout
  4. sql中实现split()功能
  5. EMVTag系列17《9F66 终端交易属性》
  6. 视酷即时通讯系统应用源码 V1.0
  7. 自制 Word、Excel 批转 PDF 工具
  8. CSS3中first-child、last-child、nth-child、nth-last-child
  9. AX_InventDim
  10. docker swarm 搭建及跨主机网络互连案例分析
  11. zabbix问题记录
  12. C#面向对象设计的七大原则
  13. loj#6491. zrq 学反演
  14. 在linux下创建自定义service服务
  15. html与表格(table)相关的属性
  16. C语言简介(转自菜鸟教程)
  17. 快速切题 sgu135. Drawing Lines
  18. 机器学习算法( 二、K - 近邻算法)
  19. vue2018年5月报错No parser and no file path given
  20. 父类virtual和overload,子类reintroduce; overload;