USACO算法系列十二——msquare

来源:互联网 发布:nginx限制ip段访问 编辑:程序博客网 时间:2024/05/22 05:02

    题目:http://www.nocow.cn/index.php/Translate:USACO/msquare

    看到这道题我还以为有什么比较捷径的策略,毕竟广度优先遍历,是很耗内存空间的,而且需要去重的话,不断遍历数组也是很费时的。但是看了参考答案以后,好像也没什么特殊的解法。所以就开始写了。

    跟预期的一样,如果一遍遍的检索的话,在Test7的时候,会超时,但是如果用一个2^24次方的数组记录是否是否检索过,又很快超出了空间。思索了很久,终于想到了知道前7个数时最后个数也已经被确定,只需要将用来表示状态的二进制右移3位,达到2^21,空间就没问题了。

    广度优先遍历,代码思路很清晰的。

    顺利通过了USACO测试,结果如下:

原创粉丝点击