题意:

      给你一个正方体的初始状态和末状态,问你是否可以再6步之内转到这个状态,有四种转的方式,如果你面对的是正方向的正前方,那么转的方式就是 顺时针,逆时针,上,下。

思路: 

      水搜索,直接搜就行,深搜广搜随意,mark不mark也随意,因为状态4,深度6那么最多也就4^6,题目没有坑点,细心点就行了,我写的是一个广搜(mark了)。


#include<stdio.h>
#include<queue>

using namespace
std; typedef struct
{
int
now[7];
}
NODE; NODE xin ,tou;
int
mark[7][7][7][7][7][7];
int
ss[7] ,ee[7]; int BFS()
{

memset(mark ,0 ,sizeof(mark));
mark[ss[1]][ss[2]][ss[3]][ss[4]][ss[5]][ss[6]] = 1;
queue<NODE>q;
for(int
i = 0 ;i <= 6 ;i ++) xin.now[i] = ss[i];
q.push(xin);
while(!
q.empty())
{

tou = q.front();
q.pop();
int
ok = 1;
for(int
i = 1 ;i <= 6 ;i ++)
if(
tou.now[i] != ee[i]) ok = 0;
if(
ok) return tou.now[0];
if(
tou.now[0] >= 6) continue; for(int i = 0 ;i <= 6 ;i ++) xin.now[i] = tou.now[i];
xin.now[0] ++;
xin.now[1] = tou.now[3] ,xin.now[3] = tou.now[2] ,xin.now[2] = tou.now[4] ,xin.now[4] = tou.now[1];
if(!
mark[xin.now[1]][xin.now[2]][xin.now[3]][xin.now[4]][xin.now[5]][xin.now[6]] ) q.push(xin); for(int i = 0 ;i <= 6 ;i ++) xin.now[i] = tou.now[i];
xin.now[0] ++;
xin.now[1] = tou.now[4] ,xin.now[4] = tou.now[2] ,xin.now[2] = tou.now[3] ,xin.now[3] = tou.now[1];
if(!
mark[xin.now[1]][xin.now[2]][xin.now[3]][xin.now[4]][xin.now[5]][xin.now[6]] ) q.push(xin); for(int i = 0 ;i <= 6 ;i ++) xin.now[i] = tou.now[i];
xin.now[0] ++;
xin.now[1] = tou.now[5] ,xin.now[5] = tou.now[2] ,xin.now[2] = tou.now[6] ,xin.now[6] = tou.now[1];
if(!
mark[xin.now[1]][xin.now[2]][xin.now[3]][xin.now[4]][xin.now[5]][xin.now[6]] ) q.push(xin); for(int i = 0 ;i <= 6 ;i ++) xin.now[i] = tou.now[i];
xin.now[0] ++;
xin.now[1] = tou.now[6] ,xin.now[6] = tou.now[2] ,xin.now[2] = tou.now[5] ,xin.now[5] = tou.now[1];
if(!
mark[xin.now[1]][xin.now[2]][xin.now[3]][xin.now[4]][xin.now[5]][xin.now[6]] ) q.push(xin); }
return -
1;
} int main ()
{
while(~
scanf("%d %d %d %d %d %d" ,&ss[1] ,&ss[2] ,&ss[3] ,&ss[4] ,&ss[5] ,&ss[6]))
{
for(int
i = 1 ;i <= 6 ;i ++)
scanf("%d" ,&ee[i]);
ss[0] = ee[0] = 0;
printf("%d\n" ,BFS());
}
return
0;
}

hdu5012 水搜索的更多相关文章

  1. P5198 [USACO19JAN]Icy Perimeter S (洛谷) (水搜索)

    同样是因为洛谷作业不会写…… 写(水)博客啦. 直接放题目吧,感觉放在代码框里好看点 Farmer John要开始他的冰激凌生意了!他制造了一台可以生产冰激凌球的机器,然而不幸的是形状不太规则,所以他 ...

  2. hdu1572 水搜索

    题意: 中文的不解释; 思路:           其实就是一个水的搜索,直接搜索不会超时,还有别跑最短路了,题目没要求跑最短路,别读错题,刚开始自己嘚嗖的跑了一边最短路 wa了 ,正好最近看了STL ...

  3. hdu4771 水搜索(状态压缩+bfs)

    题意:      给你一个n*m的地图,问你从起点出发,吧所有的宝藏都捡完用的最少时间. 思路:k <= 4,水题,直接开一个数组mark[now][x][y];now代表的是当前检宝藏的二进制 ...

  4. hdu 5094 Maze(水搜索)

    题目意思:说有一个人在(1,1) 他的目标点在(n,m) 每次是4方向的移动: 限制条件:有的各自之间有墙 或者门,强不可通过,有对应的要钥匙可以开启这个类型的所有门: 问题:求最少步骤数(和): 类 ...

  5. Divide by Zero 2017 and Codeforces Round #399 (Div. 1 + Div. 2, combined) A B 水 搜索

    A. Oath of the Night's Watch time limit per test 2 seconds memory limit per test 256 megabytes input ...

  6. hdu2102 水搜索

    题意:                                    A计划 Problem Description 可怜的公主在一次次被魔王掳走一次次被骑士们救回来之后,而今,不幸的她再一次 ...

  7. hdu 2181 水搜索

    哈密顿绕行世界问题 Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total S ...

  8. hdu4536 水搜索

    题意: XCOM Enemy Unknown Time Limit: 500/200 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others ...

  9. Luogu P1141 01迷宫【搜索/dfs】By cellur925

    题目传送门 我tm到现在还需要刷这种水搜索...我退役吧. 但就是搜索弱嘛 补一补嘛qwq 题目大意:给你一张地图与许多询问,每次询问求这个点所在联通块的点的个数. 所以这个题目的本质就是在求联通块. ...

随机推荐

  1. pytorch(08)数据模型的读取(2)

    import numpy as np import torch import os import random from PIL import Image from torch.utils.data ...

  2. 图解如何在Linux上配置git自动登录验证

    记录一下配置git操作远程仓库时的自动验证,效果如下图: 本文介绍的是Linux下的配置.Windows上默认已经启用凭证存储和自动验证(依靠wincred实现,以后会使用GCM-Core). 准备工 ...

  3. 2020年12月-第02阶段-前端基础-CSS Day02

    CSS Day02 复合选择器 后代选择器 并集选择器 1. CSS复合选择器 理解 理解css复合选择器分别的应用场景 为什么要学习css复合选择器 CSS选择器分为 基础选择器 和 复合选择器 , ...

  4. python3 批量处理域名解析

    域名批量解析,快速确认域名的存活性及IP地址,脚本中包含了具体的用法和简要说明 #!/usr/bin/env python # -*- coding:utf-8 -*- # python3.6 fro ...

  5. 【翻译】内部API的价值

    内部api的设计,主要是为了简化软件的开发,简化系统和操作过程.目前绝大多数用例是这样的. 内部api经常被忽略,因为它们是针对内部开发人员的.这种类型的api通常使用于特定公司及其部门的专用数据.尽 ...

  6. 仿MSDN的帮助系统

    作为软件开发人员,软件做好后,接下来就是编写文档.我自己也是做软件的,经常有用户询问软件的安装与使用, 我一直很喜欢微软的MSDN帮助系统,简介.大气,使用方便. 网上也找了很久,感觉一直没有合适的, ...

  7. 记一次scrapy-redis爬取小说网的分布式搭建过程

    scrapy-redis简介 scrapy-redis是scrapy框架基于redis数据库的组件,用于scrapy项目的分布式开发和部署. 有如下特征: 分布式爬取 可以启动多个spider工程,相 ...

  8. TypeScript 入门自学笔记(一)

    码文不易,转载请带上本文链接,感谢~ https://www.cnblogs.com/echoyya/p/14542005.html 目录 码文不易,转载请带上本文链接,感谢~ https://www ...

  9. 6、Spring教程之自动装配

    自动装配说明 自动装配是使用spring满足bean依赖的一种方法 spring会在应用上下文中为某个bean寻找其依赖的bean. Spring中bean有三种装配机制,分别是: 在xml中显式配置 ...

  10. [换根DP][倍增]luogu P5666 树的重心

    题面 https://www.luogu.com.cn/problem/P5666 分析 对于一棵以i为根的树来说,它的重心必然在其size大于等于sumsize/2的子树中. 那么断掉一条边e(u, ...