八数码:我使用了map判重
结果一遍就轻松A题了。
关于map的用法:
①创建一个map
map<char,int>m;
map<string,long long int>m1;
很浅显。。。
②插入
m.insert(make_pair(19260817,"naive"));
m['R']=3;
③判重
我们只需让出现过的key的value值为1/true
那么是否出现过就是:if(m[2])
///
掌握了map的用法之后八数码就很ok了。
基本思想是广搜。我用字符串+结构体表示状态,写了4个函数为上下左右(其实没必要),以及一个check函数。然后就很显然了:
1 #include 2 #include
AC代码如下: