弱弱的搜索题,

我的做法是将矩阵看做二进制然后用位运算来做的,感觉比较舒服

 const dx:array[..] of integer=(-,,,);
      dy:array[..] of integer=(,,-,); type node=record
       po,next:longint;
     end; var a:array[..] of node;
    d,q:array[..] of longint;
    p:array[..] of longint;
    num:array[..,..] of longint;
    i,j,n,k,m,st,en,len,x,y:longint;
    s:string; procedure add(x,y:longint);
  begin
    inc(len);
    a[len].po:=y;
    a[len].next:=p[x];
    p[x]:=len;
  end; procedure bfs;
  var u,j,i,k,x,y,f,r:longint;
  begin
    f:=;
    r:=;
    q[]:=st;
    fillchar(d,sizeof(d),);
    d[st]:=;
    while f<=r do
    begin
      x:=q[f];
      k:=;
      for i:= to do
      begin
        if k and x<> then
        begin
          j:=p[i];
          while j<>- do
          begin
            u:= shl a[j].po;
            y:=(x xor k) or u;
            if (x and u=) and (d[y]=-) then
            begin
              d[y]:=d[x]+;
              if y=en then exit;
              inc(r);
              q[r]:=y;
            end;
            j:=a[j].next;
          end;
        end;
        k:=k shl ;
      end;
      inc(f);
    end;
  end; begin
  fillchar(num,sizeof(num),);
  fillchar(p,sizeof(p),);
  for i:= to do
  begin
    readln(s);
    for j:= to do
    begin
      num[i,j]:=k;
      st:=st+(ord(s[j])-)*( shl k);
      inc(k);
    end;
  end;
  readln;
  for i:= to do
  begin
    readln(s);
    for j:= to do
      en:=en+(ord(s[j])-)*( shl num[i,j]);
  end;
  for i:= to do
    for j:= to do
      for k:= to do
      begin
        x:=i+dx[k];
        y:=j+dy[k];
        if num[x,y]<>- then add(num[i,j],num[x,y]);
      end;
  bfs;
  writeln(d[en]);
end.

bzoj1054的更多相关文章

  1. 【BZOJ1054】[HAOI2008]移动玩具

    [BZOJ1054][HAOI2008]移动玩具 题面 bzoj 洛谷 题解 太\(sb\)了,不想写了,直接点开洛谷题面单击右边蓝色按钮题解即可

  2. 【BZOJ1054】移动玩具(搜索)

    [BZOJ1054]移动玩具(搜索) 题面 BZOJ 洛谷 题解 这种小清新搜索题写出来好舒服啊. 要是原来的我来写代码肯定又臭又长吧.. #include<cstdio> #includ ...

  3. 【BZOJ1054】[HAOI2008]移动玩具 BFS

    [BZOJ1054][HAOI2008]移动玩具 Description 在一个4*4的方框内摆放了若干个相同的玩具,某人想将这些玩具重新摆放成为他心中理想的状态,规定移动 时只能将玩具向上下左右四个 ...

  4. [BZOJ1054] 移动玩具

    1054: [HAOI2008]移动玩具 Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 2741  Solved: 1537[Submit][Stat ...

  5. bzoj1054: [HAOI2008]移动玩具

    hash+bfs:要注意特殊情况.(似乎连sort.lower_bound都不用数据小直接判重了... #include<cstdio> #include<cstring> # ...

  6. bzoj1054: [HAOI2008]移动玩具 状压+爆搜即可

    题意:在一个4*4的方框内摆放了若干个相同的玩具,某人想将这些玩具重新摆放成为他心中理想的状态,规定移动时只能将玩具向上下左右四个方向移动,并且移动的位置不能有玩具,请你用最少的移动次数将初的玩具状态 ...

  7. 【BFS】bzoj1054 [HAOI2008]移动玩具

    暴搜吧,可以哈希一下,但是懒得写哈希了,所以慢得要死. Code: #include<cstdio> #include<queue> #include<set> # ...

  8. [BZOJ1054][HAOI2008]移动玩具 bfs+hash

    1054: [HAOI2008]移动玩具 Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 2432  Solved: 1355[Submit][Stat ...

  9. BZOJ1054(搜索)

    大力搜,状态用一个16位的数字表示. #include <bits/stdc++.h> using namespace std; #define rep(i,a,b) for(int i( ...

随机推荐

  1. 【开发】Form Validate 表单验证 扩展应用

    目录: ★.文本输入框(easyui-textbox) ★.数字框(easyui-numberbox) ★.时间(easyui-datebox) ★.文本域(easyui-textbox easyui ...

  2. OpenJudge 2817:木棒 / Poj 1011 Sticks

    1.链接地址: http://bailian.openjudge.cn/practice/2817/ http://poj.org/problem?id=1011 2.题目: 总时间限制: 1000m ...

  3. C++实现一个单例模板类

    单例模式在项目开发中使用得比较多,一个单例的模板类显得很有必要,避免每次都要重复定义一个单例类型 //非多线程模式下的一个单例模板类的实现 // template_singleton.h #inclu ...

  4. java nio使用方法(转)

    最近由于工作关系要做一些Java方面的开发,其中最重要的一块就是Java NIO(New I/O),尽管很早以前了解过一些,但并没有认真去看过它的实现原理,也没有机会在工作中使用,这次也好重新研究一下 ...

  5. 微信video标签全屏无法退出bug

    安卓(android)微信里面video播放视频,会被强制全屏,播放完毕后还有腾讯推荐的视频,非常讨厌..强制被全屏无法解决,但是视频播放完毕后退出播放器可以解决.方法就是视频播放完毕后,用音频aud ...

  6. Python设计模式——单例模式

    单例模式是日常应用中最广泛的模式了,其目的就是令到单个进程中只存在一个类的实例,从而可以实现数据的共享,节省系统开销,防止io阻塞等等 但是在多进程的应用中,单例模式就实现不了了,例如一些web应用, ...

  7. Windows下使用cmd启动Oracle EM和sql命令使用+主机身份认证

    (1)cmd命令下使用sql命令 >sqlplus / as sysdba sql>select * from v$version; (2)cmd命令下启动Oracle EM 安装完ora ...

  8. IE浏览器窗口合并

    百度经验:如何在IE上设置多窗口合并为单窗口(可切换)?

  9. sbrk and coreleft

    一.sbrk 函数来源:TC2.0.Linux 函数名: sbrk 功 能: 增加程序可用数据段空间,增加大小由参数 incr决定 . 返回值:函数调用成功返回一指针,指向新的内存空间.函数调用失败则 ...

  10. DB天气安卓客户端测试计划

      分辨率 屏幕ppi 网络环境 操作系统 os 用户类型 地点 组合总数 其他 samsung                   htc                   小米         ...