BFS和DFS最大的关键在于如何把问题抽象为一个图。

图中的节点和线条,分别对应状态和转换。

另外,一定要注意set的used和visited的使用,要不然很容易超时。