博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
hdu 1043
阅读量:6078 次
发布时间:2019-06-20

本文共 1280 字,大约阅读时间需要 4 分钟。

各种搜啊。据说IDA*好用还好敲。不过暂时理解不了啊。还是老老实实宽搜吧。kuangbin的代码看着特别舒服。

#include
#include
#include
#include
#include
using namespace std;const int MAXN=1000000;//最多是9!/2int fac[]={
1,1,2,6,24,120,720,5040,40320,362880};//康拖展开判重bool vis[MAXN];//标记string path[MAXN];//记录路径int cantor(int s[])//康拖展开求该序列的hash值{ int sum=0; for(int i=0;i<9;i++) { int num=0; for(int j=i+1;j<9;j++) if(s[j]
q; q.push(cur); path[aim]=""; while(!q.empty()) { cur=q.front(); q.pop(); int x=cur.loc/3; int y=cur.loc%3; for(int i=0;i<4;i++) { int tx=x+move[i][0]; int ty=y+move[i][1]; if(tx<0||tx>2||ty<0||ty>2)continue; next=cur; next.loc=tx*3+ty; next.s[cur.loc]=next.s[next.loc]; next.s[next.loc]=0; next.status=cantor(next.s); if(!vis[next.status]) { vis[next.status]=true; next.path=indexs[i]+next.path; q.push(next); path[next.status]=next.path; } } }}int main(){ char ch; Node cur; bfs(); while(cin>>ch) { if(ch=='x') {cur.s[0]=0;cur.loc=0;} else cur.s[0]=ch-'0'; for(int i=1;i<9;i++) { cin>>ch; if(ch=='x') { cur.s[i]=0; cur.loc=i; } else cur.s[i]=ch-'0'; } cur.status=cantor(cur.s); if(vis[cur.status]) { cout<
<

 

转载于:https://www.cnblogs.com/Rainb/p/3844078.html

你可能感兴趣的文章
Android NIO(Noblocking I/O非阻塞I/O)小结
查看>>
为什么机器学习难于应用
查看>>
算法: skiplist 跳跃表代码实现和原理
查看>>
ELK系列~对fluentd参数的理解
查看>>
WF4.0实战(二):超市收银软件
查看>>
CSS3与页面布局学习总结(七)——前端预处理技术(Less、Sass、CoffeeScript、TypeScript)...
查看>>
思考与总结:扇区和磁盘块的区别是什么
查看>>
C++ 数据结构链表的实现代码
查看>>
OVS local network 连通性分析 - 每天5分钟玩转 OpenStack(132)
查看>>
Django 表单校验 表单字段设置 自定义表单校验规则
查看>>
TeamViewer“试用期已到期”解决方法
查看>>
SQL Server 2014如何提升非在线的在线操作
查看>>
成为MySQL DBA博客-性能配置调优
查看>>
【java开发系列】—— spring简单入门示例
查看>>
无人驾驶,敢问路在何方?
查看>>
轻松实现日志可视化?— 95后阿里云 MVP 王鹏翰的答案
查看>>
Maven实战(六)--- dependencies与dependencyManagement的区别
查看>>
基于Ethereum & IPFS的去中心化Ebay区块链项目开发实战
查看>>
jQuery tmpl用法总结
查看>>
武汉seo:做网站标题优化设置教程的老生常谈问题
查看>>