zoukankan      html  css  js  c++  java
  • HDU 5762Teacher Bo

    Teacher Bo

    Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others)
    Total Submission(s): 133    Accepted Submission(s): 84


    Problem 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,ACorBD) 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.(T50)

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

    Next N lines, the i-th line shows the coordinate of the i-th point.(Xi,Yi)(0Xi,YiM).
     
    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
     
    直接暴力就可以了。为什么可以暴力?因为m最大才100000 那么最多也就有10 0000种曼哈顿距离。座椅答案一定在O(m)的时间内找到。
    /* ***********************************************
    Author        :guanjun
    Created Time  :2016/7/26 15:10:50
    File Name     :p311.cpp
    ************************************************ */
    #include <iostream>
    #include <cstring>
    #include <cstdlib>
    #include <stdio.h>
    #include <algorithm>
    #include <vector>
    #include <queue>
    #include <set>
    #include <map>
    #include <string>
    #include <math.h>
    #include <stdlib.h>
    #include <iomanip>
    #include <list>
    #include <deque>
    #include <stack>
    #define ull unsigned long long
    #define ll long long
    #define mod 90001
    #define INF 0x3f3f3f3f
    #define maxn 100010
    #define cle(a) memset(a,0,sizeof(a))
    const ull inf = 1LL << 61;
    const double eps=1e-5;
    using namespace std;
    priority_queue<int,vector<int>,greater<int> >pq;
    struct Node{
        int x,y;
    };
    struct cmp{
        bool operator()(Node a,Node b){
            if(a.x==b.x) return a.y> b.y;
            return a.x>b.x;
        }
    };
    
    bool cmp(int a,int b){
        return a>b;
    }
    int n,m;
    int x[maxn];
    int y[maxn];
    map<int,int>mp;
    int main()
    {
        #ifndef ONLINE_JUDGE
        freopen("in.txt","r",stdin);
        #endif
        //freopen("out.txt","w",stdout);
        int t;
        cin>>t;
        while(t--){
            cin>>n>>m;
            mp.clear();
            for(int i=1;i<=n;i++){
                scanf("%d%d",&x[i],&y[i]);
            }
            int mark=0;
            for(int i=1;i<=n;i++){
                for(int j=i+1;j<=n;j++){
                    int z=abs(x[i]-x[j])+abs(y[i]-y[j]);
                    if(!mp[z]){
                        mp[z]=1;
                    }
                    else{
                        mark=1;
                        break;
                    }
                }
                if(mark)break;
            }
            if(mark)puts("YES");
            else puts("NO");
        }
        return 0;
    }
  • 相关阅读:
    WEB前端开发规范文档
    MySQL笔记系列:数据库概述
    MySQL笔记系列:MySQL架构
    Centos6.4中Apache,MySQL,PHP 的安装
    Linux面试总结分享
    NFS网络文件共享服务介绍及案例
    Linux命令(7):cp
    Linux命令(6):cat
    Linux命令(5):vi
    Linux命令(4):touch
  • 原文地址:https://www.cnblogs.com/pk28/p/5708663.html
Copyright © 2011-2022 走看看