Teacher Bo

题目链接:

http://acm.hdu.edu.cn/showproblem.php?pid=5762

Description

Teacher BoBo is a geography teacher in the school.One day in his class,he marked N points in the map,the i-th point is at (Xi,Yi).He wonders,whether there is a tetrad (A,B,C,D)(A < B,C < D,A≠CorB≠D) such that the manhattan distance between A and B is equal to the manhattan distance between C and D.

If there exists such tetrad,print "YES",else print "NO".

Input

First line, an integer T. There are T test cases.(T≤50)

In each test case,the first line contains two intergers, N, M, means the number of points and the range of the coordinates.(N,M≤105).

Next N lines, the i-th line shows the coordinate of the i-th point.(Xi,Yi)(0≤Xi,Yi≤M).

Output

T lines, each line is "YES" or "NO".

Sample Input

2

3 10

1 1

2 2

3 3

4 10

8 8

2 3

3 3

4 4

Sample Output

YES

NO

Source

2016 Multi-University Training Contest 3

##题意:

给出平面上的N个点,求是否一个四元组(A,B,C,D)满足A\B之间的曼哈顿距离等于C\D之间距离.
条件(A

##题解:

这个题让我懵比的两个小时...
一开始先把曼哈顿距离想成了abs(dx+dy),然后可以只考虑每个点的坐标和,从而误把题目转化为求一个数组中是否有两对数的和相等.
由于规模是1e5,然后一直在想O(nlogn)的算法...

首先,曼哈顿距离的正确定义是abs(dx)+abs(dy).
其次,题目的数据规模确实不能跑O(n^2)的算法,但是题目限制了坐标的范围为[0,1e5], 这意味着任意两点的曼哈顿距离只可能有2e5种可能,暴力最多只会判断2e5个组合,所以不会超时.
所以直接暴力判断所有组合即可,当出现重复的距离时停止判断(先离线数据).

这个题懵比这么久真的是非常不应该,所以以后卡题的时候,一定要重新读题和尝试转换思考角度.


##代码:
``` cpp
#include
#include
#include
#include
#include
#include
#include
#include
#include
#define LL long long
#define eps 1e-8
#define maxn 251000
#define mod 100000007
#define inf 0x3f3f3f3f
#define IN freopen("in.txt","r",stdin);
using namespace std;

int n,m;

struct point {

int x,y;

}p[maxn];

bool dis[maxn];

int get_ans(point a, point b) {

return abs(a.x-b.x) + abs(a.y-b.y);

}

int main(int argc, char const *argv[])

{

//IN;

int t; cin >> t;
while(t--)
{
memset(dis, 0, sizeof(dis));
cin >> n >> m; int flag = 0; for(int i=1; i<=n; i++) {
int x,y; scanf("%d %d", &x,&y);
p[i].x=x; p[i].y=y;
} for(int i=1; i<=n; i++) {
for(int j=1; j<i; j++) {
int tmp = get_ans(p[i],p[j]);
if(dis[tmp]) {
flag = 1;
break;
}
dis[tmp] = 1;
}
if(flag) break;
} if(flag) puts("YES");
else puts("NO");
} return 0;

}

HDU 5762 Teacher Bo (暴力)的更多相关文章

  1. hdu 5762 Teacher Bo 暴力

    Teacher Bo 题目连接: http://acm.hdu.edu.cn/showproblem.php?pid=5762 Description Teacher BoBo is a geogra ...

  2. hdu 5762 Teacher Bo 曼哈顿路径

    Teacher Bo Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others)Tota ...

  3. HDU 5762 Teacher Bo

    Teacher Bo Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others)Tota ...

  4. HDU 5762 Teacher Bo ( 暴力 )

    链接:传送门 题意:给出N个点( Xi , Yi ),和点的最远位置M,询问是否有这样的四个点 (A,B,C,D)(A<B,C<D,A≠CorB≠D) ,AB的曼哈顿路径长度等于CD的曼哈 ...

  5. 【模拟】HDU 5762 Teacher Bo

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5762 题目大意: 给n个点,坐标范围0~m(n,m<=105),求是否存在2个点对满足哈夫曼距 ...

  6. HDU 5762 Teacher Bo (鸽笼原理) 2016杭电多校联合第三场

    题目:传送门. 题意:平面上有n个点,问是否存在四个点 (A,B,C,D)(A<B,C<D,A≠CorB≠D)使得AB的横纵坐标差的绝对值的和等于CD的横纵坐标差的绝对值的和,n<1 ...

  7. hdu-5762 Teacher Bo(抽屉原理+暴力)

    题目链接: Teacher Bo Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Other ...

  8. 2016 Multi-University Training Contest 3-1011.Teacher Bo,暴力!

    Teacher Bo                                                         Time Limit: 4000/2000 MS (Java/Ot ...

  9. HDU 5762

    Teacher Bo Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others) Tot ...

随机推荐

  1. poi操作oracle数据库导出excel文件

    HSSFWorkbook workBook = new HSSFWorkbook();// 创建 一个excel文档对象 HSSFSheet sheet = workBook.createSheet( ...

  2. 【HDOJ】4801 Pocket Cube 的几种解法和优化

    1. 题目描述给定一个$2 \times 2 \times 2$的魔方,当某个面上的4个小块颜色均相同时,称这个面为complete.求对这个魔方进行$n \in [1,7]$次旋转(沿某个面顺时针或 ...

  3. 查看EBS中BI Publisher的版本

    查看EBS中BI Publisher的版本问题,Oracle提供了如下的几种方法: 从BI Publisher产生的报表文件查看 通过系统已打过的补丁(Patch)来决定,通过补丁号和BI Publi ...

  4. git push 提示

    我运行git push -u origin master  时提示如下: To git@github.com:userName/project.git ! [rejected] master -> ...

  5. 为PHP增加PDO-Mysql驱动

    一.问题 公司有一台老的Linux服务器,Apache+MySQL+Php结构的, 要把最近做的一个PHP项目部署到上面,做为测试环境, 由于新项目是用PHP的YII框架开发的,而YII框架的数据访问 ...

  6. linux 安装oracle 11g

    安装环境 Linux服务器:SuSe10 sp2 64位 Oracle服务器:Oracle11gR2 64位 系统要求 Linux安装Oracle系统要求 系统要求 说明 内存 必须高于1G的物理内存 ...

  7. 【转】android 自定义控件 使用declare-styleable进行配置属性(源码角度)

    原文网址:http://blog.csdn.net/vipzjyno1/article/details/23696537 最近在模仿今日头条,发现它的很多属性都是通过自定义控件并设定相关的配置属性进行 ...

  8. Jabber/XMPP协议与架构

    一.概述 由Jeremie Miller于1998年开始这个项目.Jabber是一个开放源码形式组织产生的网络实时通信协议,第一个公开版本于2000年5月发行.Jabber已经由IETF XMPP协议 ...

  9. j2ee的13个标准

    1:JDBC(Java Database Connectivity)JDBC API为访问不同数据库提供了统一的路径,向ODBC一样,JDBC开发者屏蔽了一些细节问题,另外,JDBC对数据库的访问也具 ...

  10. metadata lock

    1 锁等待的例子 session 1: 执行查询但不提交 mysql> begin; mysql> select * from test where c2 = '1'; session 2 ...