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/转 ...
随机推荐
- 问题:从键盘读取特定类型的数据(使用Scanner读取int类型)
import java.util.Scanner; public class ScannerIntTest{ public static void main(String [] args){ int ...
- caanimationgroup与CATransaction的区别
动画的组合: caanimationgroup:同一个layer: CATransaction:不同layer: In Core Animation, transactions are a way t ...
- 9、Dubbo-配置(4)
本地存根 远程服务后,客户端通常只剩下接口,而实现全在服务器端,但提供方有些时候想在客户端 也执行部分逻辑,比如:做 ThreadLocal 缓存,提前验证参数,调用失败后伪造容错数据等 等,此时就需 ...
- 31、springboot与任务
异步任务 测试如下: 进行等待三秒在进行应答 @Service public class AsynService { public void hello(){ try { Thread.sleep() ...
- 软件分享:将应用一键打包成dmg文件
简介 苹果软件开发完成后,都要打包成dmg文件.通常的做法也许是到系统自带的磁盘工具里制作dmg文件,但这样做比较繁琐,尤其是要打包多个应用时,每次只能制作一个dmg文件很麻烦.分享一个很好用很方便的 ...
- 关于UWB技术:DecaWave公司的DW1000芯片资料
关于人在隧道工作时都需要准确的精确度确定精准的位置.DecaWave公司的DW1000芯片,对定位上的精确度更是再适合不过了.符合IEEE802.15.4-2011超宽带标准.按照数据手册上应该最小误 ...
- HDU 1165 公式推导题
题目链接: acm.hdu.edu.cn/showproblem.php?pid=1165 Eddy's research II Time Limit: 4000/2000 MS (Java/Othe ...
- SharePoint2010QuickFlow安装及使用
一:QuickFlow的安装 1,从http://quickflow.codeplex.com/下载解决方案包以及设计器. 2,将QuickFlow.dll以及QuickFlow.UI.dll添加到程 ...
- OO 第三次博客总结
调研规格化设计 1950年代,第一次分离,主程序和子程序的分离程序结构模型是树状模型,子程序可先于主程序编写.通过使用库函数来简化编程,实现最初的代码重用.产生基本的软件开发过程:分析—设计—编码—测 ...
- 1004. Counting Leaves(30)—PAT 甲级
A family hierarchy is usually presented by a pedigree tree. Your job is to count those family member ...