BZOJ054_移动玩具_KEY
这道题我写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的更多相关文章
- BZOJ 1010: [HNOI2008]玩具装箱toy [DP 斜率优化]
1010: [HNOI2008]玩具装箱toy Time Limit: 1 Sec Memory Limit: 162 MBSubmit: 9812 Solved: 3978[Submit][St ...
- BZOJ1055: [HAOI2008]玩具取名[区间DP]
1055: [HAOI2008]玩具取名 Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 1588 Solved: 925[Submit][Statu ...
- BZOJ1055: [HAOI2008]玩具取名
... #include<bits/stdc++.h> using namespace std; int q[255]; char s[205]; char p[]={'W','I','N ...
- Noip2016提高组 玩具谜题toy
Day 1 T1 题目大意 一些naive的玩具小人把小南的眼镜藏起来,但小南有一份too simple的小纸条,告诉小南眼镜在第一个小人往哪数第几个的往哪数的第几个的往哪数第几个的往哪数的第几个的往 ...
- BZOJ 1010 【HNOI2008】 玩具装箱toy
Description P教授要去看奥运,但是他舍不下他的玩具,于是他决定把所有的玩具运到北京.他使用自己的压缩器进行压缩,其可以将任意物品变成一堆,再放到一种特殊的一维容器中.P教授有编号为1... ...
- 【BZOJ-1055】玩具取名 区间DP
1055: [HAOI2008]玩具取名 Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 1560 Solved: 907[Submit][Statu ...
- 【BZOJ-1010】玩具装箱toy DP + 斜率优化
1010: [HNOI2008]玩具装箱toy Time Limit: 1 Sec Memory Limit: 162 MBSubmit: 8432 Solved: 3338[Submit][St ...
- UOJ260 【NOIP2016】玩具谜题
本文版权归ljh2000和博客园共有,欢迎转载,但须保留此声明,并给出原文链接,谢谢合作. 本文作者:ljh2000作者博客:http://www.cnblogs.com/ljh2000-jump/转 ...
- BZOJ1010 [HNOI2008]玩具装箱toy
本文版权归ljh2000和博客园共有,欢迎转载,但须保留此声明,并给出原文链接,谢谢合作. 本文作者:ljh2000作者博客:http://www.cnblogs.com/ljh2000-jump/转 ...
随机推荐
- Java的Stream流
yi.控制台输入输出流, 1.读取控制台输入 Java的控制台输入由System.in完成.为了获得一个绑定到控制台的字符流,可以把System.in包装在一个BufferedReader对象中来创建 ...
- Vue动态实现评分效果
1.图片分为三种 on:half: off <style> .star{ font-size: 0; } .star-item{ display: inline-block; backg ...
- Linux中PATH环境变量的作用和使用方法
关于PATH的作用:PATH说简单点就是一个字符串变量,当输入命令的时候LINUX会去查找PATH里面记录的路径.比如在根目录/下可以输入命令ls,在/usr目录下也可以输入ls,但其实ls这个命令根 ...
- 编程中关于对时区的理解(语言PHP)
时间戳 首先来说说time()返回的时间戳,时间戳则是自从 Unix 纪元(格林威治时间 1970 年 1 月 1 日 00:00:00)到当前时间的秒数. 格林威治 由于地球圆的,因此每个时区的时间 ...
- 如何设计处优秀的Restful API
只知道遵规循矩的程序员是假程序员,任何技术都是不断发明创造改进的. 如何设计处优秀的Restful API? 盲目跟风,设计糟糕的Resful API = 浪费时间 ! 不啰嗦,直接进入技术主题: ...
- 底层文件I/O操作中read()函数的缓存问题
最近在学习Linux过程中看到文件I/O操作这里时,文件I/O操作的系统调用涉及的5个函数:open(),read(),write(),lseek(),close().在一开始就阐明这些函数的特点是不 ...
- CentOS6安装各种大数据软件 第五章:Kafka集群的配置
相关文章链接 CentOS6安装各种大数据软件 第一章:各个软件版本介绍 CentOS6安装各种大数据软件 第二章:Linux各个软件启动命令 CentOS6安装各种大数据软件 第三章:Linux基础 ...
- 腾讯云的对象存储COS
什么是对象存储COS Clound Object Storage,COS,专门为企业和开发者们提供能够存储海量的分布式存储服务,用户可以随时通过互联网对大量数据进行批量存储和处理,在任意位置存储和检索 ...
- filter 图片滤镜的各种设置
filter 图片滤镜 给当前元素加滤镜_改变它的明亮度 定义:filter 属性定义了元素(通常是<img>)的可视效果(例如:模糊与饱和度).作用在图片上或元素上.div{ },或 d ...
- 使用PHP生成二维码支持自定义logo
require_once 'phpqrcode/phpqrcode.php'; //引入类库 $text = "https://www.baidu.com/";//要生成二维码的文 ...