发一道题,大家帮忙想想
input 文件是类似于* * * * * * * * * * * * *
* * * * * *
* *
* * * * * * * *
这样的数个零碎地图形组成的数个文件,告诉了input文件的大小不会超过50乘以81,零碎的图形之间距离大于*和*之间的距离,同行同列*和*之间的距离是固定的
题目有几问,第一问是问图形是不是完整的,就是说,是不是一个矩形(当然这个只有在input是只有一个图形的情况下),这一问好做,就不多说了。
第二问是问图形由几个零散图形组成
第三问是问,所有图形有多少条边
第四问是问,这些零散的图形能不能拼成一个矩形(大小未知)
我的做法是,把input文件放到50乘80的数组里,然后开始遍历,遇到星就把星变成#,然后在#的8个方向找,如果是*
就把星变成#,然后在下一个#8个方向找,直到把整个碎片变成#,同时在找的过程中,我会纪录方向,然后如果方向改变了,那么边++。然后开始重新遍历,找星,同样的方法把第二个图形变成#,然后图形个数++。
可是我实在不知道第四问怎么做,怎么判断能不能拼在一起呢?输出文件只要求回答能不能拼成矩形
请高手帮忙想想,谢谢了