// 题目本身不难,就是一个深度优先搜索
// 但是-网上有一些博客给出的是错误答案
// 做这个深度优先搜索的关键问题,在于如何避免重新去节点,而不是去避免已经走过的路
// 在一次向下的深度搜索过程中,不能返回已经走过的节点
// 但是在完成一次到底的DFS后,在返回时必须重置 “走过”状态
// 1 -》 2 —》3
// 1-》4-》3 是两条一样的路径
#include<iostream>
#include<string>
#include <set>
using namespace std;
int map[