题解 P3072 【[USACO13FEB]周长Perimeter】

· · 题解

USACO的题目,感觉还是挺神奇的.

如这样一张图它的周长是(红色部分):

于是需要找到一个在最外边的点,可以发现最上方的那个点的就十分合适,搜索的位置(蓝色部分)

从最上方开始搜,如果搜到了草就answer++,return. 但是这样搜的时候如果一直往外跑就会直接炸掉,所以必须不能有这种情况,可以发现对于每一个蓝色位置的八个方向的一格处至少有一个草堆,于是如果没有草堆就直接退出.