V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
twor2
V2EX  ›  程序员

征求一个(计算一个矩形内是否满足多个矩形的排列)的算法

  •  
  •   twor2 · 2014-07-27 20:03:25 +08:00 · 4052 次点击
    这是一个创建于 3775 天前的主题,其中的信息可能已经有所发展或是发生改变。
    题目:计算一个矩形内是否满足多个矩形的排列
    图示:



    输入1:大矩形的长宽,里面小矩形的种类数量(这个案例中是3),每个小矩形类型的长宽和数量
    输出1:小矩形是否能全部排列在大矩形内部(当然不许折叠重合)

    语言不限!

    设立啥奖品好哩?
    15 条回复    2014-07-28 10:10:08 +08:00
    FuryBean
        1
    FuryBean  
       2014-07-27 20:11:35 +08:00   ❤️ 1
    假设每个Rect的保存方式是left、top、right、bottom。

    1. 遍历所有的小矩形,保存所有小矩形中的最小left、最小top、最大right、最大bottom。
    2. 把第一步保存的结果与大矩形的left、top、right、bottom比较,大矩形的left、top必须小于保存的矩形的left、top,right、bottom则是大于。

    Done。
    FuryBean
        2
    FuryBean  
       2014-07-27 20:13:40 +08:00
    刚发现看错题目了,原来小矩形的位置是不知道的,这种没算过,请忽略我的答案吧。
    thisisvoa
        3
    thisisvoa  
       2014-07-27 20:48:49 +08:00   ❤️ 1
    关注中,正在研究canvas标签的矩阵缩放
    Kabie
        4
    Kabie  
       2014-07-27 20:50:55 +08:00   ❤️ 1
    小矩形是不能转动的吧。。。?
    sennes
        5
    sennes  
       2014-07-27 20:58:13 +08:00   ❤️ 1
    题目很有趣 想用python试试!
    xjx0524
        6
    xjx0524  
       2014-07-27 21:39:42 +08:00   ❤️ 1
    数据规模呢?
    waltwang
        7
    waltwang  
       2014-07-27 21:47:05 +08:00   ❤️ 1
    去年实现过类似的,动态规划习题...用的是C++
    iloahz
        8
    iloahz  
       2014-07-27 22:04:42 +08:00 via iPhone   ❤️ 1
    直观感觉只能搜啊……
    c742435
        9
    c742435  
       2014-07-27 23:09:54 +08:00   ❤️ 1
    一下子想到texture packer了
    est
        10
    est  
       2014-07-27 23:47:18 +08:00 via Android   ❤️ 1
    这不就css sprite如何摆图标嘛。。。
    htedsv
        11
    htedsv  
       2014-07-28 00:53:42 +08:00   ❤️ 1
    如果所有尺寸的值域是有限集合就是高维状态的动态规划,否则是NP或者PSPACE问题。
    twor2
        13
    twor2  
    OP
       2014-07-28 10:02:31 +08:00
    @sennes 欢迎试一下
    twor2
        14
    twor2  
    OP
       2014-07-28 10:03:06 +08:00
    @htedsv 有点高大上,谢谢你的回答。
    twor2
        15
    twor2  
    OP
       2014-07-28 10:10:08 +08:00
    @flyee 已保存
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5436 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 06:56 · PVG 14:56 · LAX 22:56 · JFK 01:56
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.