| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2269 人关注过本帖
标题:发一道题,大家帮忙想想
只看楼主 加入收藏
patrick127
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2008-9-8
收藏
 问题点数:0 回复次数:21 
发一道题,大家帮忙想想
input 文件是类似于* * * * * * * *      *  
                  *            *     *   *
                  *           *    * *   * *
                  *            *
                  * * * * * * * *
这样的数个零碎地图形组成的数个文件,告诉了input文件的大小不会超过50乘以81,零碎的图形之间距离大于*和*之间的距离,同行同列*和*之间的距离是固定的
题目有几问,第一问是问图形是不是完整的,就是说,是不是一个矩形(当然这个只有在input是只有一个图形的情况下),这一问好做,就不多说了。
           第二问是问图形由几个零散图形组成
            
           第三问是问,所有图形有多少条边
           第四问是问,这些零散的图形能不能拼成一个矩形(大小未知)
我的做法是,把input文件放到50乘80的数组里,然后开始遍历,遇到星就把星变成#,然后在#的8个方向找,如果是*
就把星变成#,然后在下一个#8个方向找,直到把整个碎片变成#,同时在找的过程中,我会纪录方向,然后如果方向改变了,那么边++。然后开始重新遍历,找星,同样的方法把第二个图形变成#,然后图形个数++。
可是我实在不知道第四问怎么做,怎么判断能不能拼在一起呢?输出文件只要求回答能不能拼成矩形


请高手帮忙想想,谢谢了
搜索更多相关主题的帖子: input 
2008-09-08 05:20
patrick127
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2008-9-8
收藏
得分:0 
没人顶,自己顶一下- -
2008-09-08 15:06
葬烟
Rank: 1
等 级:新手上路
帖 子:40
专家分:0
注 册:2008-9-3
收藏
得分:0 
1.计算有几个图形。如果有5个图形,则为{1,2,3,4,5}。
  2.计算所有图形有几条边,以及每条边的信息。假设每个图形都有4条边,边的信息则为{1.a,1.b,1.c,1.d;2.a,2.b,2.c,2.d;3.a,3.b,3.c,3.d;4.a,4.b,4.c,4.d}
  3.拿出一个图形,比如1号。从边1.a开始,查找有没有可以和它结合的边,如果有,则结合它们,计算新图形是否为矩形。如果不是,更新新图形信息,此时有4个图形,再查找可以结合的边。如果到最后都不是矩形,则返回上一步,查找是否有别的边可以与之结合,再查找,直到查完所有可能。
2008-09-08 23:52
StarWing83
Rank: 8Rank: 8
来 自:仙女座大星云
等 级:贵宾
威 望:19
帖 子:3951
专家分:748
注 册:2007-11-16
收藏
得分:0 
搜索题……慢哦………………

专心编程………
飞燕算法初级群:3996098
我的Blog
2008-09-09 02:11
墨林子
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2008-8-11
收藏
得分:0 
支持下~~

[url=http://www./book/6/6852/]天王最新章节[/url]
2008-09-09 02:52
patrick127
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2008-9-8
收藏
得分:0 
2楼的方法我想了一想,太耗费时间了吧?因为图形是不规则图形,而且,图形的边吻合的情况有很多的话,要重复验证多少次啊,而且题目的意思不是说两块或者3块,是要所有的拼在一起是矩形,嗯,还有,具体怎么实现呢,每次结合在一起,然后还要更新图形,判断是不是矩形的话岂不是还要重新计算每一次拼起来之后的顶点坐标,那样太复杂了吧。。。。
题目不是要求真去拼,只要求判断是不是能拼
今天问了一下老师,说了一个很重要的条件,就是这些碎片都是从一个完整矩形切的,只可能少某些块,所以我想用面积做,请大家指教下怎么计算不规则图形的面积,星号行距是2,列距是1,斜边是行列各加1。
2008-09-10 05:53
StarWing83
Rank: 8Rank: 8
来 自:仙女座大星云
等 级:贵宾
威 望:19
帖 子:3951
专家分:748
注 册:2007-11-16
收藏
得分:0 
计算面积不简单么?你只需要计算星星覆盖部分的数量就好了,遇到星星,标记其内部的空白,然后计数,直到每个多边形内部没有空白为止。

专心编程………
飞燕算法初级群:3996098
我的Blog
2008-09-10 12:19
葬烟
Rank: 1
等 级:新手上路
帖 子:40
专家分:0
注 册:2008-9-3
收藏
得分:0 
题目只说input大小不会超过50*81,又没有说明初始矩形面积有多少。最后你算出的面积和什么去比较呢?
2008-09-10 21:50
雨中飞燕
Rank: 3Rank: 3
等 级:禁止访问
威 望:8
帖 子:2200
专家分:0
注 册:2007-8-9
收藏
得分:0 
只可能四向旋转


[color=white]<" border="0" />>
2008-09-10 22:37
liyanhong
Rank: 3Rank: 3
来 自:水星
等 级:禁止访问
威 望:8
帖 子:1867
专家分:0
注 册:2008-5-3
收藏
得分:0 
[bo][un]雨中飞燕[/un] 在 2008-9-10 22:37 的发言:[/bo]

只可能四向旋转


 


爱上你 是 我的错  可是离 开  又舍不得  听着你为我写的歌     好难过
如果说 我说如果  我们还 能  重新来过   不去计 较 谁对谁错  会怎么做
2008-09-10 22:38
快速回复:发一道题,大家帮忙想想
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.061862 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved