首页 > 用户发贴区 > 编程问题提问区 > 算法题:帮我指条路好吗?谢谢!
2009
04-13

算法题:帮我指条路好吗?谢谢!

有这么一道题,请各位大侠帮忙指点指点思路(我初学C语言):


题目:


      给定一张大的矩形的纸M*N(0<(M,N)<2,147,483,647)大小,现在要求从这张纸上剪出给定的大小不一的矩形,剪出的矩形边要求与大矩形边平行,求一种剪法使得剪出的矩形的面积总和最大。


 输入数据:
第一行为两个数分别为M,N。第二行为一个整数T,代表将来列举的矩形数目,此后一行一个矩形的规格(即大小)。每个矩形只需剪一个,可以不剪。


 输出数据:
每一行描述一个剪出的矩形,第一个数代表剪出的是第几个矩形,第二与第三个数为矩形左上角坐标,第四与第五个数为矩形右下角坐标。
 
 输入样例:
50
3
80 45
60 42
30 42
输出样例:
2 0 0 60 42
3 60 0 90 42
 
 注意:如果输出的矩形出现如下情况将算出错:
      翦出矩形不是题目输入数据给出的;
      剪出的矩形有重合情况。


算法题:帮我指条路好吗?谢谢!》有 1 条评论

  1. season 说:

    基本得用到,贪心算法。如果不行,可以考虑动态规划。
    具体实现,自己尝试吧。

留下一个回复