1761. 阻挡广告牌

摘要
Title: 1761. 阻挡广告牌
Tag: 模拟
Memory Limit: 64 MB
Time Limit: 1000 ms

Powered by:NEFU AB-IN

Link

1761. 阻挡广告牌

  • 题意

    见原题

  • 思路

    模拟,减去相交面积即可

  • 代码

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    '''
    Author: NEFU AB-IN
    Date: 2022-03-30 21:09:27
    FilePath: \ACM\Acwing\1761.py
    LastEditTime: 2022-03-30 21:09:27
    '''


    def S(x1, y1, x2, y2):
    return (y2 - y1) * (x2 - x1)


    def cale(x_11, y_11, x_12, y_12, x1, y1, x2, y2):
    xl = max(x_11, x1)
    xr = min(x_12, x2)
    if xr <= xl:
    return 0
    yl = max(y_11, y1)
    yr = min(y_12, y2)
    if yr <= yl:
    return 0
    return S(xl, yl, xr, yr)


    x_11, y_11, x_12, y_12 = map(int, input().split())
    x_21, y_21, x_22, y_22 = map(int, input().split())
    x1, y1, x2, y2 = map(int, input().split())

    print(
    S(x_11, y_11, x_12, y_12) + S(x_21, y_21, x_22, y_22) -
    (cale(x_11, y_11, x_12, y_12, x1, y1, x2, y2) +
    cale(x_21, y_21, x_22, y_22, x1, y1, x2, y2)))
使用搜索:谷歌必应百度