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

解题报告:

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

广搜破解密码(HDU1195)的更多相关文章

  1. HDU-1226-超级密码-队列+广搜+大数取模

    Ignatius花了一个星期的时间终于找到了传说中的宝藏,宝藏被放在一个房间里,房间的门用密码锁起来了,在门旁边的墙上有一些关于密码的提示信息: 密码是一个C进制的数,并且只能由给定的M个数字构成,同 ...

  2. hdu 1195 Open the Lock(广搜,简单)

    题目 猜密码,问最少操作多少次猜对,思路很简单的广搜,各种可能一个个列出来就可以了,可惜我写的很搓. 不过还是很开心,今天第一个一次过了的代码 #define _CRT_SECURE_NO_WARNI ...

  3. 为什么现在更多需要用的是 GPU 而不是 CPU,比如挖矿甚至破解密码?

    作者:Cascade链接:https://www.zhihu.com/question/21231074/answer/20701124来源:知乎著作权归作者所有,转载请联系作者获得授权. 想要理解G ...

  4. HDU--杭电--1195--Open the Lock--深搜--都用双向广搜,弱爆了,看题了没?语文没过关吧?暴力深搜难道我会害羞?

    这个题我看了,都是推荐的神马双向广搜,难道这个深搜你们都木有发现?还是特意留个机会给我装逼? Open the Lock Time Limit: 2000/1000 MS (Java/Others)  ...

  5. HDU 5652(二分+广搜)

    题目链接:http://acm.hust.edu.cn/vjudge/contest/128683#problem/E 题目大意:给定一只含有0和1的地图,0代表可以走的格子,1代表不能走的格 子.之 ...

  6. nyoj 613 免费馅饼 广搜

    免费馅饼 时间限制:1000 ms  |  内存限制:65535 KB 难度:3   描述 都说天上不会掉馅饼,但有一天gameboy正走在回家的小径上,忽然天上掉下大把大把的馅饼.说来gameboy ...

  7. poj 3984:迷宫问题(广搜,入门题)

    迷宫问题 Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 7635   Accepted: 4474 Description ...

  8. poj 3278:Catch That Cow(简单一维广搜)

    Catch That Cow Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 45648   Accepted: 14310 ...

  9. 双向广搜 POJ 3126 Prime Path

      POJ 3126  Prime Path Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 16204   Accepted ...

随机推荐

  1. FCN用卷积层代替FC层原因(转)

    分类任务 CNN对于常见的分类任务,基本是一个鲁棒且有效的方法.例如,做物体分类的话,入门级别的做法就是利用caffe提供的alexnet的模型,然后把输出的全连接层稍稍修改称为自己想要的类别数,然后 ...

  2. my11_mysql事务隔离

    概述 ************************************************ Mysql有四个事务隔离级别,默认隔离级别为RR,开启一个事务可以使用 START TRANSA ...

  3. Javascript各种事件汇总

    https://www.cnblogs.com/diligenceday/p/4190173.html#undefined https://www.cnblogs.com/starof/p/40663 ...

  4. Big Data Opportunities and Challenges(by周志华)论文要点

    大数据环境下的机器学习 三种误解:模型不再重要(大量数据上复杂模型依然提升显著,大数据是的复杂模型充分利用数据且难以过拟合),相关性就足够了(因果关系重要性无法被替代),以前的研究方向不再重要(高性能 ...

  5. RTT设备与驱动之串口

    有一般收发.中断方式.DMA方式: rt_device_t rt_device_find(const char* name); rt_err_t rt_device_open(rt_device_t ...

  6. Nginx主主负载均衡架构

    在和一些朋友交流Nginx+Keepalived技术时,我虽然已成功多次实Nginx+Keepaived项目方案,但这些都是用的单主Nginx在工作,从Nginx长期只是处于备份状态,所以我们想将二台 ...

  7. 【snmp】测试流程

    一.SNMP协议概述 SNMP是基于TCP/IP协议族的网络管理标准,是一种在IP网络中管理网络节点(如服务器.工作站.路由器.交换机等)的标准协议.SNMP能够使网络管理员提高网络管理效能,及时发现 ...

  8. Fluent API配置

    1.Fluent API配置Model试用行更广 2.使用方法: public class TransferConfig: EntityTypeConfiguration<TransferInf ...

  9. 自定义HandlerMethodArgumentResolver参数解析器和源码分析

    在初学springmvc框架时,我就一直有一个疑问,为什么controller方法上竟然可以放这么多的参数,而且都能得到想要的对象,比如HttpServletRequest或HttpServletRe ...

  10. elasticsearch增删改查crudp-----1

    Elasticsearch一些增删改查的总结 环境Centos7+Es 5.x 简单介绍下ES的原理: 1,索引  --相当于传统关系型数据库的database或schema 2,类型  --相当于传 ...