hdu5012 水搜索
题意:
给你一个正方体的初始状态和末状态,问你是否可以再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 水搜索的更多相关文章
- P5198 [USACO19JAN]Icy Perimeter S (洛谷) (水搜索)
同样是因为洛谷作业不会写…… 写(水)博客啦. 直接放题目吧,感觉放在代码框里好看点 Farmer John要开始他的冰激凌生意了!他制造了一台可以生产冰激凌球的机器,然而不幸的是形状不太规则,所以他 ...
- hdu1572 水搜索
题意: 中文的不解释; 思路: 其实就是一个水的搜索,直接搜索不会超时,还有别跑最短路了,题目没要求跑最短路,别读错题,刚开始自己嘚嗖的跑了一边最短路 wa了 ,正好最近看了STL ...
- hdu4771 水搜索(状态压缩+bfs)
题意: 给你一个n*m的地图,问你从起点出发,吧所有的宝藏都捡完用的最少时间. 思路:k <= 4,水题,直接开一个数组mark[now][x][y];now代表的是当前检宝藏的二进制 ...
- hdu 5094 Maze(水搜索)
题目意思:说有一个人在(1,1) 他的目标点在(n,m) 每次是4方向的移动: 限制条件:有的各自之间有墙 或者门,强不可通过,有对应的要钥匙可以开启这个类型的所有门: 问题:求最少步骤数(和): 类 ...
- 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 ...
- hdu2102 水搜索
题意: A计划 Problem Description 可怜的公主在一次次被魔王掳走一次次被骑士们救回来之后,而今,不幸的她再一次 ...
- hdu 2181 水搜索
哈密顿绕行世界问题 Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total S ...
- hdu4536 水搜索
题意: XCOM Enemy Unknown Time Limit: 500/200 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others ...
- Luogu P1141 01迷宫【搜索/dfs】By cellur925
题目传送门 我tm到现在还需要刷这种水搜索...我退役吧. 但就是搜索弱嘛 补一补嘛qwq 题目大意:给你一张地图与许多询问,每次询问求这个点所在联通块的点的个数. 所以这个题目的本质就是在求联通块. ...
随机推荐
- pytorch(08)数据模型的读取(2)
import numpy as np import torch import os import random from PIL import Image from torch.utils.data ...
- 图解如何在Linux上配置git自动登录验证
记录一下配置git操作远程仓库时的自动验证,效果如下图: 本文介绍的是Linux下的配置.Windows上默认已经启用凭证存储和自动验证(依靠wincred实现,以后会使用GCM-Core). 准备工 ...
- 2020年12月-第02阶段-前端基础-CSS Day02
CSS Day02 复合选择器 后代选择器 并集选择器 1. CSS复合选择器 理解 理解css复合选择器分别的应用场景 为什么要学习css复合选择器 CSS选择器分为 基础选择器 和 复合选择器 , ...
- python3 批量处理域名解析
域名批量解析,快速确认域名的存活性及IP地址,脚本中包含了具体的用法和简要说明 #!/usr/bin/env python # -*- coding:utf-8 -*- # python3.6 fro ...
- 【翻译】内部API的价值
内部api的设计,主要是为了简化软件的开发,简化系统和操作过程.目前绝大多数用例是这样的. 内部api经常被忽略,因为它们是针对内部开发人员的.这种类型的api通常使用于特定公司及其部门的专用数据.尽 ...
- 仿MSDN的帮助系统
作为软件开发人员,软件做好后,接下来就是编写文档.我自己也是做软件的,经常有用户询问软件的安装与使用, 我一直很喜欢微软的MSDN帮助系统,简介.大气,使用方便. 网上也找了很久,感觉一直没有合适的, ...
- 记一次scrapy-redis爬取小说网的分布式搭建过程
scrapy-redis简介 scrapy-redis是scrapy框架基于redis数据库的组件,用于scrapy项目的分布式开发和部署. 有如下特征: 分布式爬取 可以启动多个spider工程,相 ...
- TypeScript 入门自学笔记(一)
码文不易,转载请带上本文链接,感谢~ https://www.cnblogs.com/echoyya/p/14542005.html 目录 码文不易,转载请带上本文链接,感谢~ https://www ...
- 6、Spring教程之自动装配
自动装配说明 自动装配是使用spring满足bean依赖的一种方法 spring会在应用上下文中为某个bean寻找其依赖的bean. Spring中bean有三种装配机制,分别是: 在xml中显式配置 ...
- [换根DP][倍增]luogu P5666 树的重心
题面 https://www.luogu.com.cn/problem/P5666 分析 对于一棵以i为根的树来说,它的重心必然在其size大于等于sumsize/2的子树中. 那么断掉一条边e(u, ...