1 条题解

  • 0
    @ 2025-8-24 22:23:27

    自动搬运

    查看原文

    来自洛谷,原作者为

    avatar 一只书虫仔
    End.

    搬运于2025-08-24 22:23:27,当前版本为作者最后更新于2021-08-31 21:59:22,作者可能在搬运后再次修改,您可在原文处查看最新版

    自动搬运只会搬运当前题目点赞数最高的题解,您可前往洛谷题解查看更多

    以下是正文


    Description

    给定两个正方形,求一条直线将这两个正方形分到两个平面里。

    Solution

    暴力枚举 + 分类讨论大屑题

    考虑正方形 A 与正方形 B 的位置关系,我们考虑正方形 A,并将他的四条边延长成为四条直线。

    屏幕截图 2021-08-31 212629.png

    然后我们考虑正方形 B 与这四条直线的关系。

    注意:下文 挪 即意为答案直线的获取过程,往外 即为往正方形所在的相反方向。

    关系 1:与四条直线都没有交点。

    分类 1.1:

    A.png

    C.png

    E.png

    只需要把直线 AD 往外挪一点点就可以了。

    分类 1.2:

    G.png

    只需要把直线 AB 往外挪一点点就可以了。

    分类 1.3:

    I.png

    K.png

    M.png

    只需要把直线 BC 往外挪一点点就可以了。

    分类 1.4:

    O.png

    只需要把直线 CD 往外挪一点点就可以了。

    关系 2:与四条直线有一个交点

    分类 2.1:

    B.png

    D.png

    只需要把直线 AD 往外挪一点点就可以了。

    分类 2.2:

    F.png

    H.png

    只需要把直线 AB 往外挪一点点就可以了。

    分类 2.3:

    J.png

    L.png

    只需要把直线 BC 往外挪一点点就可以了。

    分类 2.4:

    N.png

    P.png

    只需要把直线 CD 往外挪一点点就可以了。

    关系 3:与四条直线有两个交点

    分类 3.1:

    只需要把直线 EH 往外挪一点点就可以了。

    分类 3.2:

    只需要把直线 AD 往外挪一点点就可以了。

    分类 3.3:

    只需要把直线 EF 往外挪一点点就可以了。

    分类 3.4:

    只需要把直线 AB 往外挪一点点就可以了。

    分类 3.5:

    只需要把直线 FG 往外挪一点点就可以了。

    分类 3.6:

    只需要把直线 BC 往外挪一点点就可以了。

    分类 3.7:

    只需要把直线 GH 往外挪一点点就可以了。

    分类 3.8:

    只需要把直线 CD 往外挪一点点就可以了。

    与大于 22 条直线相交的情况也能转化到与 22 条直线相交的情况,更多的是将正方形 B 上的某一条边向外挪一点点得到的,具体情况具体判断就可以了。

    然后将以上的所有分类讨论模拟成代码就可以了。

    然后这道屑题你就做完了

    • 1

    信息

    ID
    5631
    时间
    1000ms
    内存
    128MiB
    难度
    4
    标签
    递交数
    0
    已通过
    0
    上传者