题目传送门

这道题我写IDA*写挂了,TLE+WA,只AC了两个点。

这道题标算BFS+状态压缩。

code:

/**************************************************************
Problem: 1054
User: yekehe
Language: C++
Result: Accepted
Time:84 ms
Memory:40864 kb
****************************************************************/ #include <bits/stdc++.h>
using namespace std; int N,T; const int dx[]={,,,-},dy[]={,,-,}; int l[],h,t;
int f[<<]; void BFS()
{
memset(f,,sizeof f);
l[++t]=N;
f[N]=;
while(h<t){
int front=l[++h];
if(front==T){printf("%d",f[front]);return ;}
for(int i=;i<;i++){
if((front&(<<i))!=(front&(<<i+))){
int to=front;
to^=(<<i)+(<<i+);
if(f[to]>f[front]+)f[to]=f[front]+,l[++t]=to;
}
if(i!= && (front&(<<i))!=(front&(<<i+))){
int to=front;
to^=(<<i)+(<<i+);
if(f[to]>f[front]+)f[to]=f[front]+,l[++t]=to;
}
}
for(int i=;i<;i++){
if((front&(<<i))!=(front&(<<i+))){
int to=front;
to^=(<<i)+(<<i+);
if(f[to]>f[front]+)f[to]=f[front]+,l[++t]=to;
}
if(i!= && (front&(<<i))!=(front&(<<i+))){
int to=front;
to^=(<<i)+(<<i+);
if(f[to]>f[front]+)f[to]=f[front]+,l[++t]=to;
}
}
for(int i=;i<;i++){
if((front&(<<i))!=(front&(<<i+))){
int to=front;
to^=(<<i)+(<<i+);
if(f[to]>f[front]+)f[to]=f[front]+,l[++t]=to;
}
if(i!= && (front&(<<i))!=(front&(<<i+))){
int to=front;
to^=(<<i)+(<<i+);
if(f[to]>f[front]+)f[to]=f[front]+,l[++t]=to;
}
}
for(int i=;i<;i++){
if(i!= && (front&(<<i))!=(front&(<<i+))){
int to=front;
to^=(<<i)+(<<i+);
if(f[to]>f[front]+)f[to]=f[front]+,l[++t]=to;
}
}
}
} int main()
{
string S;
for(int i=;i<=;i++){
cin>>S;
for(int j=;j<=;j++)N=(N<<)+S[j-]-'';
}//cin>>S;
for(int i=;i<=;i++){
cin>>S;
for(int j=;j<=;j++)T=(T<<)+S[j-]-'';
}
BFS();
return ;
}

BZOJ054_移动玩具_KEY的更多相关文章

  1. BZOJ 1010: [HNOI2008]玩具装箱toy [DP 斜率优化]

    1010: [HNOI2008]玩具装箱toy Time Limit: 1 Sec  Memory Limit: 162 MBSubmit: 9812  Solved: 3978[Submit][St ...

  2. BZOJ1055: [HAOI2008]玩具取名[区间DP]

    1055: [HAOI2008]玩具取名 Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 1588  Solved: 925[Submit][Statu ...

  3. BZOJ1055: [HAOI2008]玩具取名

    ... #include<bits/stdc++.h> using namespace std; int q[255]; char s[205]; char p[]={'W','I','N ...

  4. Noip2016提高组 玩具谜题toy

    Day 1 T1 题目大意 一些naive的玩具小人把小南的眼镜藏起来,但小南有一份too simple的小纸条,告诉小南眼镜在第一个小人往哪数第几个的往哪数的第几个的往哪数第几个的往哪数的第几个的往 ...

  5. BZOJ 1010 【HNOI2008】 玩具装箱toy

    Description P教授要去看奥运,但是他舍不下他的玩具,于是他决定把所有的玩具运到北京.他使用自己的压缩器进行压缩,其可以将任意物品变成一堆,再放到一种特殊的一维容器中.P教授有编号为1... ...

  6. 【BZOJ-1055】玩具取名 区间DP

    1055: [HAOI2008]玩具取名 Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 1560  Solved: 907[Submit][Statu ...

  7. 【BZOJ-1010】玩具装箱toy DP + 斜率优化

    1010: [HNOI2008]玩具装箱toy Time Limit: 1 Sec  Memory Limit: 162 MBSubmit: 8432  Solved: 3338[Submit][St ...

  8. UOJ260 【NOIP2016】玩具谜题

    本文版权归ljh2000和博客园共有,欢迎转载,但须保留此声明,并给出原文链接,谢谢合作. 本文作者:ljh2000作者博客:http://www.cnblogs.com/ljh2000-jump/转 ...

  9. BZOJ1010 [HNOI2008]玩具装箱toy

    本文版权归ljh2000和博客园共有,欢迎转载,但须保留此声明,并给出原文链接,谢谢合作. 本文作者:ljh2000作者博客:http://www.cnblogs.com/ljh2000-jump/转 ...

随机推荐

  1. Spark SQL on Yarn-Cluster

    Spark SQL 或者Hive SQL在yarn-client模式下运行正常,但是在yarn-cluster模式下总是报 status failed错误, 需要把$SPARK_HOME/lib/sp ...

  2. vue 项目搭建笔记1

    1.首先安装node.js(傻瓜式安装,安装路径默认C盘) 2.打开node.js command prompt 3.进入想放项目的文件夹.如D:  -->回车 4.进入具体文件夹,如cd wo ...

  3. GPU性能:光栅化、图层混合、离屏渲染

    So, shouldRasterize will not affect the green/red you see using Instruments. In order to have everyt ...

  4. 创建 JavaScript 对象

    http://www.w3school.com.cn/js/js_objects.asp 创建 JavaScript 对象 通过 JavaScript,您能够定义并创建自己的对象. 创建新对象有两种不 ...

  5. 「LGP4719【模板】动态dp」

    题目 尽管知道这个东西应该不会考了,但是还是学一学吧 哎要是去年noip之前学该多好 动态\(dp\)就是允许修改的一个\(dp\),比如这道题,我们都知道这是一个树上最大点权独立集 众所周知方程长这 ...

  6. TensorFlow学习('utf-8' codec can't decode byte 0xff in position 0: invalid start byte)

    使用语句: image_raw_data = tf.gfile.GFile("./picture.jpg", "r").read() 读取图像时报错如下: Un ...

  7. 一种基于openflow的虚拟化层软件flowvisor的API测试

    注明:本文并不对openflow进行分析,本人也是略略知道这个概念,对flowvisor也只是对其API有所测试,更深的源码并未涉及,只是希望该文能对以后的flowvisor研究者提供些许帮助. 一: ...

  8. djb2:一个产生简单的随机分布的哈希函数

    目录 LCG算法 示例代码 djb2 示例代码 为什么选择参数33和 33 was chosen because: 5381 was chosen because 哈希选择参考 LCG算法 djb2与 ...

  9. 我的QT5学习之路(四)——信号槽

    一.前言 前面说了Qt最基本的实例创建.控件以及工具集的介绍,相当于对于Qt有了一个初次的认识,这次我们开始认识Qt信号通信的重点之一——信号槽. 二.信号槽 信号槽是 Qt 框架引以为豪的机制之一. ...

  10. 一次tomcat的调优记录

    项目本身需要上传模型,使用的是springboot1.5.3. 上传的模型比较大,下载的过程中就出现了问题(下载是su调用的java接口,其开发并非本人负责,不可更改) 问题在于,下载的时候tomca ...