cn1h
发表于 2007-3-26 09:29
我觉得这个问题好像很大,应该算是算法中的一类典型问题,我刚才用google搜了一下“排版 算法”搜到好多结果,而且也都是很复杂的算法。看来真要研究起来,要翻几本书了。$汗$
这里有个用二叉树的算法,还没看,不过估计要研究一阵了。。。
http://scholar.ilib.cn/Abstract.aspx?A=gctxxb200503033
[ 本帖最后由 cn1h 于 2007-3-26 10:33 编辑 ]
jeanie
发表于 2007-3-26 11:27
原帖由 漂去漂来 于 2007-3-26 01:10 发表 http://www.dolc.de/forum/images/common/back.gif
W单位是pixel
另外,我写的也不是答案,只是我思考的一些结果。我也不知道答案是什么。
应该解决了!
第一种:
结果:
最后排完肯定能排成一个矩形(当然也可以排成乱七八糟的形状,但那样不美观),
想法:
不管给多少个横的竖的图形,都可以用1横,1竖,多横,多竖来表示
比如给定19999999999999999999999999999999999999999个图形(其中包括199999999999999999999个横的,剩下的都是竖的话)
可以用1横1竖来排(因为1横1竖排列出来的肯定是矩形),然后横的没有了,剩下很多竖的剩下那些竖的肯定也能排成一个矩形,无非是每行图行多少罢了.
在把两个矩形逻起来,还是个矩行.(因为他的图片缩放大小,简单的是不管w是多少,要先排列完了,然后整体缩放,来调整的给定的w大小)
第二种:
可以稍微复杂点,
把给定3横,1竖的情况,两横两竖,3竖1横,2横1竖.....那些特殊点的情况单独提取出来,每个情况作为一个object,
然后把给定的19999999999999999999999999999999999999999图形分解成那些个情况的组合,因为上面那些情况都是一个矩型,
所以同样也是很多矩形罗列起来,组成一个大的矩形罢了,
如果转换成代码应该也不是太困难,(因为俺现在刚学到if选择语句的应用,所以没写代码)
特别是第一种更简单,而且满足要求应该,
这题营养不大,或者是要求不明确.(个人感觉)$汗$ $汗$
[ 本帖最后由 jeanie 于 2007-3-26 12:29 编辑 ]
漂去漂来
发表于 2007-3-26 11:48
Jupp
发表于 2007-3-26 13:16
我觉得未必两张照片也未必一定要并列横排
因为两张倘若是非常扁的那种照片的话并列横排的话会肯定很丑陋
我觉得还有一点就是尽量保持原图的大小不作缩放,或者说对尽量少的图片作尽量小的缩放
或者按照客户的意见来。。。
漂去漂来
发表于 2007-3-26 13:47
w3gogo
发表于 2007-3-26 15:03
这个跟适不适合学 info 有什么关系,
你们以上解决的都是已知多少个图片, 用图片来定算法, 而不是算法适用于多少个图片,
还有, 这属于数学建模上的问题, 如果没有学过运筹学这门课, 这些东西当然不能说出个道道来了,
计算机有多少个方向啊,难道这么简单就判断谁适合谁不适合学了吗, 每个人都有很大的潜力,
建议如果 lz想讨论一下, 就直接发讨论贴好了, 但不要这么说而希望高手看到进来挑战一下你的难题。
ps,有打击其他人的嫌疑
漂去漂来
发表于 2007-3-26 15:28
漂去漂来
发表于 2007-3-26 15:57
direktor
发表于 2007-3-26 17:52
感觉挺难的,,,,,
漂去漂来
发表于 2007-3-26 18:36