#P80. P56 Hard Version: Boxes+

P56 Hard Version: Boxes+

版权声明

本题版权归 Long Long OJ 所有。

注意

本题有弱化版 P56   [KSC004G] Boxes

  • Long Long OJ
  • 题目描述

    推箱子的规则相信大家都不陌生:

    • 地图上有若干个墙(地图的边界外也视为墙),若干个箱子,相同数量的目标,一个玩家;
    • 如果相邻的某一格是空格,则可以走上去;
    • 如果相邻的某一格是箱子,且这个方向的下一格是空位,则可以向那个方向走一步并将箱子推一格;
    • 行走和推箱子都是四方向的;
    • 当所有箱子都在目标上时,玩家胜利。

    现在,请构造一个推箱子谜题,其大小限制为 20×20\mathbf{20\times 20}箱子只能有一个,并让最优解步数尽可能大(但不是无解)。

    如果你的谜题最少可以在 233\color{red}\geq 233 次完成,则你的方案正确。

    计分方式

    如果你的答案中 OP* 之一的出现次数不是 11,或这个推箱子无解,或你的谜题最少可以在 233\color{red}233 次内(不包含 233\color{red}233 次),你将得到 00 分;否则你将得到 100100 分。

    答案文本格式

    本题为提交答案题。

    你需要提交一个名叫 map.txt 的文本文件。

    你的输出应当是一个 20×20\mathbf{20\times 20} 的矩阵。用 # 代表墙,. 代表空地,P 代表玩家的初始位置,* 代表箱子的初始位置,O 代表目标。(玩家和目标的初始位置不能重合。)

    一个错误的的输出示例:

    ###..............###
    ##................##
    #..................#
    ....................
    ...P................
    ....................
    ....................
    .......*............
    ....................
    ....................
    ................O...
    ....................
    ....................
    ....................
    ....................
    ....................
    ....................
    #..................#
    ##................##
    ###..............###