zoukankan      html  css  js  c++  java
  • [恢]hdu 2555

    2011-12-29 22:32:38

    地址:http://acm.hdu.edu.cn/showproblem.php?pid=2555

    题意:中文。不多解释。

    mark:此题真是坑爹。数据里有多个矩形覆盖一个点的情况- -。。。如果有这种情况,就算前一个矩形的周长。。。

    另外,在矩形边上也算是包含在陷阱内。

    代码:

    # include <stdio.h>
    # include <string.h>
    # include <stdlib.h>


    typedef struct point{
    int x, y ;
    }point ;


    point pt[20010] ;
    int a[110][4] ;
    int dist[20010] ;


    int cmp(const void *a, const void *b)
    {
    return *(int*)b - *(int*)a ;
    }


    int main ()
    {
    int n, m, i, j ;
    int u, l, r, d ;

    while (~scanf ("%d%d", &n, &m))
    {
    memset (dist, 0, sizeof(dist)) ;
    for (i = 0 ; i < n ; i++)
    scanf ("%d%d", &pt[i].x, &pt[i].y) ;

    for (i = 0 ; i < m ; i++)
    scanf ("%d%d%d%d", &a[i][0], &a[i][1], &a[i][2], &a[i][3]) ;
    for (i = 0 ; i < n ; i++)
    {
    dist[i] = 0 ;
    for (j = 0 ; j < m ; j++)
    {
    if (pt[i].x >= a[j][0] && pt[i].x <= a[j][2] &&
    pt[i].y >= a[j][1] && pt[i].y <= a[j][3])
    {
    dist[i] = (a[j][2]-a[j][0]+a[j][3]-a[j][1]) * 2 ;
    break ;
    }
    }
    }
    /*
    for (i = 0 ; i < m ; i++)
    {
    scanf ("%d%d%d%d", &l, &u, &r, &d) ;
    for (j = 0 ; j < n ; j++)
    {
    if (pt[j].x > l && pt[j].x < r &&
    pt[j].y > u && pt[j].y < d)
    {
    dist[j] = ((r-l)+(d-u))*2 ;
    }
    }
    }
    */
    qsort (dist, n, 4, cmp) ;
    for (i = 0 ;i < n ; i++)
    printf ("%d\n", dist[i]) ;
    }
    return 0 ;
    }



  • 相关阅读:
    GIL
    CRM2Stark组件
    Django图书管理系统(单表操作)
    Python(ATM机low版)
    Python(9-18天总结)
    Python(1-8天总结)
    Python习题(分页显示)
    Python文本操作2
    Python递归二分法
    Python文本操作
  • 原文地址:https://www.cnblogs.com/lzsz1212/p/2315404.html
Copyright © 2011-2022 走看看