题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1195

解题报告:

#include<iostream>
#include<cstdio>
#include<cstring>
#include<queue>using namespace std;struct node
{int num[4],step;
};node start,_end;
bool visit[10][10][10][10],flag;void bfs()
{int i;node p,q;queue<node> Q;memset(visit,false,sizeof(visit));flag=true;start.step=0;p=start;visit[p.num[0]][p.num[1]][p.num[2]][p.num[3]]=true;Q.push(p);while(!Q.empty()){p=Q.front();Q.pop();flag=true;for(i=0; i<4; i++)if(p.num[i]!=_end.num[i]){flag=false;break;};if(flag){printf("%d\n",p.step);return;}for(i=0; i<4; i++) ///+1
        {q=p;if(p.num[i]==9) q.num[i]=1;else q.num[i]=p.num[i]+1;q.step=p.step+1;if(!visit[q.num[0]][q.num[1]][q.num[2]][q.num[3]]){visit[q.num[0]][q.num[1]][q.num[2]][q.num[3]]=true;Q.push(q);}}for(i=0; i<4; i++) ///-1
        {q=p;if(p.num[i]==1) q.num[i]=9;else q.num[i]=p.num[i]-1;q.step=p.step+1;if(!visit[q.num[0]][q.num[1]][q.num[2]][q.num[3]]){visit[q.num[0]][q.num[1]][q.num[2]][q.num[3]]=true;Q.push(q);}}for(i=0; i<3; i++) ///相邻交换
        {q=p;q.num[i]=p.num[i+1];q.num[i+1]=p.num[i];q.step=p.step+1;if(!visit[q.num[0]][q.num[1]][q.num[2]][q.num[3]]){visit[q.num[0]][q.num[1]][q.num[2]][q.num[3]]=true;Q.push(q);}}}
}int main()
{int cas,i;char chf[5],chl[5];scanf("%d",&cas);while(cas--){scanf("%s%s",chf,chl);for(i=0; i<4; i++){start.num[i]=chf[i]-'0';_end.num[i]=chl[i]-'0';}bfs();}return 0;
}

View Code

转载于:https://www.cnblogs.com/TreeDream/p/5402400.html

广搜破解密码(HDU1195)相关推荐

  1. 广搜之原神·稻妻·荒海水位解谜中的两处机关 输入数字生成解谜步骤

    把稻妻的任务堆了很久,这两天才想起来肝一肝.不肝不知道,稻妻有这么大地图!怪不得2.0游戏资源足有20个G. 在神樱大祓(fu,二声)任务里,第二个场景是荒海,解谜过程中遇到两个雷方块机关,就是下面这 ...

  2. 【安全牛学习笔记】COWPATTY 破解密码

    HTTP://ETUORLASLS.ORG/NETWORKING/802.11+SECURITY.+WI-FI+PROTECTED+ACCESS+AND+802.11I/ ╋━━━━━━━━━━━━━ ...

  3. CCNA-第五篇-基础命令集+设备升级+设备破解密码+IP地址{精髓篇}

    ** CCNA-第五篇-基础命令集 ** 1.基础命令集 思科设备 : IOS 华为设备: VRP 启动步骤:加电自检-加载系统(IOS/VRP)-运行配置(保留的cfg或者conf文件) 命令行统一 ...

  4. 算法学习 (门徒计划)3-3 深搜(DFS)与广搜(BFS)及经典问题 学习笔记

    算法学习 (门徒计划)3-3 深搜(DFS)与广搜(BFS)及经典问题 学习笔记 前言 深搜与广搜 搜索的核心概念 问题求解树 搜索剪枝和优化 问题求解树的状态 对比深搜与广搜 DFS-深度(deep ...

  5. Go 分布式学习利器(15) -- Go 实现 深搜和广搜

    强化语法,回顾算法. 通过Go语言实现 深度优先搜索 和 广度优先搜索,来查找社交网络中的三度好友关系(三度指的是一个节点到 其相邻节点 到 其相邻节点的节点 ,图递增三层好友关系). 涉及到的Go语 ...

  6. 搜索:广搜 词语阶梯

    问题描述以及解决过程如下导图 广搜实现如下 #include <iostream> #include <algorithm> #include <vector> # ...

  7. [NC23486]小A与小B 双向广搜

    题解:这个题属于走迷宫类型问题的一个升级版吧,不同之处在于一秒钟小A走一步,小B可以走两步,这两种事件是同时发生的,所以我们每秒钟让A扩散一步,让B扩散两步. 两个人走过的路径分别用 visited[ ...

  8. 【图论专题】BFS中的双向广搜 和 A-star

    双向广搜 AcWing 190. 字串变换 #include <cstring> #include <iostream> #include <algorithm> ...

  9. Linux 修改SSH 默认端口 22,防止被破解密码

    2019独角兽企业重金招聘Python工程师标准>>> Linux/Unix 系统,很多人使用SSH + 密码来登陆服务器,默认 22端口,这样会有被暴力破解密码的危险(除非密码足够 ...

最新文章

  1. javascript十六进制数字和ASCII字符之间转换
  2. ES6中表达export default const是无效的
  3. 如何跟随有三从零进阶中级CV算法工程师
  4. 多线程经典问题之多窗口卖票
  5. VTK:Utilities之CommandSubclass
  6. 使用.NET Core创建Windows服务 - 使用.NET Core工作器方式
  7. centos7.x 通过yum方式安装java 1.8.0
  8. mysql之锁与事务
  9. 同一个世界不同的人(转)
  10. HTML布局是外边距咋表示,布局 页面设置百分比 子元素如何设置外边距?
  11. javascript中对象的运用
  12. SQL:pgsql中时间戳转换为整数
  13. 4.linux基础1
  14. 自学-Linux-老男孩Linux77期-day4
  15. 黑客是怎样买彩票的?中奖率提示2倍
  16. 校园二手交易系统平台
  17. 图片表格如何转换成excel表格
  18. 《Python与硬件项目案例》— 基于Python与指纹模块AS608的指纹识别签到考勤系统(上篇)(期末大作业、课程设计、毕业设计、结课项目)
  19. pulseaudio如何开通系统日志来debug
  20. lldb调试mysql 插件命令

热门文章

  1. 【盘点】北美顶尖学府的人工智能与智能车实验室
  2. 深度学习已入末路,谁能引领下一代AI?
  3. SAP MM 公司间STO里交货单PGI之后自动触发内向交货单功能的实现
  4. 谷歌最强 NLP 模型 BERT 解读
  5. 《数学之美》第14章 余弦定理和新闻的分类
  6. 德克萨斯AM大学的一项新技术可以让我们通过触摸屏「感受」物体
  7. 深度学习与工业互联网安全:应用与挑战
  8. 文章推荐 | 城市规划中城市信息学的研究进展
  9. 什么是1+N模式的新一代城市大脑建设方案
  10. 4个重要的量子理论实验综述