• Teacher Bo HDU 5762(暴力)


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

    初看题目范围要吓死我了。。

    暴力枚举两点a(x1,y1),b(x2,y2),求出它们的曼哈顿距离|x1-x2|+|y1-y2|,并保存

    当一个曼哈顿距离两次被访问,则存在符合题意的四元组

    假设一开始计算出来的曼哈顿距离均不相同,那顶多只有2*10^5种可能,当执行第2*10^5+1次操作时,就不会再出现新的距离值。因此求得的曼哈顿距离必定是前2*10^5计算中的一种。

    一组数据的时间复杂度 O(min{N^2,M}) .

    #include<algorithm>
    #include<stdio.h>
    #include<string.h>
    #include<queue>
    using namespace std;
    
    const int maxn = 105000;
    const int oo = 0x7fffffff;
    int v[2*maxn], a[maxn], b[maxn];
    
    int main()
    {
        int T, n, m, flag;
    
        scanf("%d", &T);
    
        while(T--)
        {
    
             flag = 0;
             memset(v, 0, sizeof(v));
    
            scanf("%d %d", &n, &m);
    
            for(int i=1; i<=n; i++)
                scanf("%d %d", &a[i], &b[i]);
    
            for(int i=1; i<=n; i++)
            {
                for(int j=i+1; j<=n; j++)
                {
                    int d = abs(a[i]-a[j])+abs(b[i]-b[j]);
    
                    if(v[d])
                    {
                        flag = 1;
                        break;
                    }
    
                    v[d] = 1;
                }
    
                if(flag)  break;
            }
    
            if(flag)  printf("YES
    ");
    
            else   printf("NO
    ");
        }
        return 0;
    }
    View Code
  • 相关阅读:
    读取radio的value值
    Bootstrap初学(一)
    移动测试用例
    Python 打包成exe执行文件
    Python 模块导入
    Sublime Text2编辑器
    发送Email
    读写TXT文档
    JS与Jquery
    自动化测试摸索
  • 原文地址:https://www.cnblogs.com/daydayupacm/p/5710288.html
Copyright © 2020-2023  润新知