蓝桥杯 九宫重排 java_【蓝桥杯】历届试题 九宫重排
#include#include#include#include
using namespacestd;int dir[4] = {-3, 3, -1, 1}; //x, y 上 -3 下 +3 左 -1 右 +1
int fa[10] = { 1, 1, 2, 6, 24};int status[400000]; //记录每种状态//test
int testid = -1;char test[400000][12];structNode{char s[12];intstatus;intpos;intstep;
vectorids;
};voidgetfa(){for(int i = 5; i<=9; ++i){
fa[i]= fa[i-1] *i;
}
}int cantor(char *s){int ans = 0;for(int i=0;i<9;++i){int num = 0;for(int j=i+1;j<9;++j){if(s[j]
}//cout << " num " << num << endl;
ans = ans + num*fa[8-i];
}returnans;
}voidbfs(){
Node beginnode;char end[12], temps[12]; //初始位置
scanf("%s%s", beginnode.s, end);
beginnode.status=cantor(beginnode.s);for(int i=0;i<9;++i){if(beginnode.s[i]=='.'){
beginnode.pos=i;break;
}
}
beginnode.step= 0;int endc =cantor(end);
queueq; beginnode.ids.push_back(++testid);for(int k=0;k<9;++k){
test[testid][k]=beginnode.s[k];
}
q.push(beginnode);
status[beginnode.status]= 1;while(!q.empty()){
Node cur=q.front();//for(int i=0;i<9;++i) cout << cur.s[i];//cout << " " << cur.status << endl;//for(int i=0;i<9;++i){//if(i%3==0){//cout << endl;//}//cout << cur.s[i];//}//cout << endl;//getchar();
q.pop();if(endc ==cur.status){for(int kk=0;kk
cout<
}
cout<
}
cout<
}return;
}
Node addnode;for(int i=0;i<4;++i){int np = cur.pos +dir[i];if(np>=0 && np<=8){for(int j=0;j<9;++j){
addnode.s[j]=cur.s[j];
}
addnode.s[cur.pos]=cur.s[np];
addnode.s[np]=cur.s[cur.pos];
addnode.status=cantor(addnode.s);if(status[addnode.status] == 0){
addnode.pos=np;
addnode.step= cur.step+1;
status[addnode.status]= 1;/
addnode.ids.assign(cur.ids.begin(), cur.ids.end());
addnode.ids.push_back(++testid);for(int k=0;k<9;++k){
test[testid][k]=addnode.s[k];
}
q.push(addnode);
}
}
}
}
printf("-1");
}intmain(){
memset(status,0, sizeof(status));
getfa();
bfs();return 0;
}
蓝桥杯 九宫重排 java_【蓝桥杯】历届试题 九宫重排相关推荐
- 历届试题+九宫重排+java_蓝桥杯 历届试题 九宫重排 (bfs+康托展开去重优化)...
Description 如下面第一个图的九宫格中,放着 1~8 的数字卡片,还有一个格子空着.与空格子相邻的格子中的卡片可以移动到空格中.经过若干次移动,可以形成第二个图所示的局面. 我们把第一个图的 ...
- 算法笔记_183:历届试题 九宫重排(Java)
目录 1 问题描述 2 解决方案 1 问题描述 问题描述 如下面第一个图的九宫格中,放着 1~8 的数字卡片,还有一个格子空着.与空格子相邻的格子中的卡片可以移动到空格中.经过若干次移动,可以形成 ...
- 历届试题 九宫重排 广度优先搜索+康拓排序
历届试题 九宫重排 时间限制:1.0s 内存限制:256.0MB 问题描述 如下面第一个图的九宫格中,放着 1~8 的数字卡片,还有一个格子空着.与空格子相邻的格子中的卡片可以移 ...
- 蓝桥杯 历届试题 九宫重排 (bfs+康托展开去重优化)
Description 如下面第一个图的九宫格中,放着 1~8 的数字卡片,还有一个格子空着.与空格子相邻的格子中的卡片可以移动到空格中.经过若干次移动,可以形成第二个图所示的局面. 我们把第一个图的 ...
- 蓝桥杯 历届试题 九宫重排
问题描述 如下面第一个图的九宫格中,放着 1~8 的数字卡片,还有一个格子空着.与空格子相邻的格子中的卡片可以移动到空格中.经过若干次移动,可以形成第二个图所示的局面. 我们把第一个图的局面记为:12 ...
- [蓝桥杯][历届试题]九宫重排-双向bfs和map标记
题目描述 如下面第一个图的九宫格中,放着 1~8 的数字卡片,还有一个格子空着.与空格子相邻的格子中的卡片可以移动到空格中.经过若干次移动,可以形成第二个图所示的局面. 我们把第一个图的局面记为:12 ...
- 蓝桥杯 历届试题 九宫重排
问题描述 如下面第一个图的九宫格中,放着 1~8 的数字卡片,还有一个格子空着.与空格子相邻的格子中的卡片可以移动到空格中.经过若干次移动,可以形成第二个图所示的局面. 我们把第一个图的局面记为:12 ...
- 蓝桥杯历届试题-九宫重排
题目描述 如下面第一个图的九宫格中,放着 1~8 的数字卡片,还有一个格子空着.与空格子相邻的格子中的卡片可以移动到空格中.经过若干次移动,可以形成第二个图所示的局面. 我们把第一个图的局面记为: ...
- 蓝桥杯 地宫寻宝 java_蓝桥杯 地宫寻宝 带缓存的DFS
历届试题 地宫取宝 时间限制:1.0s 内存限制:256.0MB 问题描写叙述 X 国王有一个地宫宝库. 是 n x m 个格子的矩阵. 每一个格子放一件宝贝. 每一个宝贝贴着价值标签. 地宫的入 ...
- 历届试题 九宫重排 (bfs 八数码问题)
问题描述 如下面第一个图的九宫格中,放着 1~8 的数字卡片,还有一个格子空着.与空格子相邻的格子中的卡片可以移动到空格中.经过若干次移动,可以形成第二个图所示的局面. 我们把第一个图的局面记为:12 ...
最新文章
- oral_quiz-#求链表中的倒数第K个结点#
- EXSI 连接硬件USB pass-through
- javascript生成指定范围的随机整数
- redis存储的数据类型
- 2月上旬全球六大顶级域名最新动态 .COM占73.3%
- 如何将ListT转换相应的Html(xsl动态转换)(一)
- idea mac 查找文件快捷键_idea for mac 最全快捷键整理
- 微服务升级_SpringCloud Alibaba工作笔记0013---SpringCloud Alibaba简介
- 关于使用Aptana+Pydev构建Python开发环境(Django)
- Vue学习之旅Part3:Vue的全局过滤器和私有过滤器
- Python面向对象基础(下)—Python Day9
- 怎么解决电脑USB接口不识别U盘
- 小米node2红外_小米监控open-falcon-0.2安装部署详细配置
- Python 浮点数的舍入,round与decimal舍入方式
- 早期中国文明内生性演进的内在逻辑阐释
- 老男孩Python全栈9期视频完整版
- 动态内存的申请和非动态内存的申请_英国:国内双非学生,非相关背景,能申请英国卡迪夫大学计算机硕士课程吗?申请难度大吗?附案例分享...
- 华信mysql数据恢复_华信安卓手机数据恢复程序3.0
- mount: special device /dev/vgdata/lv_ora does not exist,centos系统LV status状态为Not avaliable问题排查及处理
- 再来 20 个免费的 Bootstrap 的后台管理模板
热门文章
- 基于java的家庭收支管理系统
- 联想一键恢复不能用的情况下,win8无缝升级win10的方法
- 研究OCL功率放大电路的输出功率和效率
- pix4d无人机影像处理_pix4dmapper-pix4dmapper(无人机数据和航空影像处理)3.2.23官方版下载 - 华彩软件站...
- maven配置多个中央仓库
- 都是蹭热点,差距咋就这么大呢?| 拍者手记
- nginx 进行 https 反向代理 nextcloud 后 APP 不能访问的解决办法
- 阿里云天池python-task3
- 阿里天池-python训练营task1
- 逻辑越权漏洞-水平垂直越权