题目:http://www.nocow.cn/index.php/Translate:USACO/starry
题目还是比较好理解的,想法也比较简单,但是写起来相当麻烦。我的想法是:
第一,使用广度遍历的方法,遍历出所有的星座,并记录下他们的路径,边框,高度,宽度。
第二,对于每一个星座,对他们做归一处理,就是另他们的起点都是从0,0开始的。然后画到一个虚拟的天空上,然后遍历接下来的几个星座,并把他们也画到虚拟天空中,如果两个星座重合,那么这两个星座是同一个星座。
中间优化,1, 两个星座星星数目不一致,排除。
2, 两个星座宽度,高度不一致,排除。
第三,把星座标记到一个新的天空中,打印出来。
代码如下:
运行结果如下:
一遍AC了。努力的结果没有白费啊!