当前位置: 首页 > news >正文

题解:P14614 [2019 KAIST RUN Fall] Bigger Sokoban 40k

分析:

显而易见,这是一道构造题

题目要求构造出一种地图方案,使得推箱子的步数大于 \(40k\) ,然而 \(N+M\) 最大只有可怜的 \(100\) ,那么我们就需要开始思考了

稍微分析一下,如果整张图的格子不够走,那么必须要让人能够巨多的重复步数才能达到目标

观察样例:

....SS
....SS
.#BB#.
..BB.P
......

我们想到:箱子的大小是 \(2×2\) ,而人是 \(1×1\) ,那么一定有只有人能走而箱子走不了的情况

显然,一种思路是让人不断地走圈子去走到一个能推动箱子的地方,从而去推动箱子

有了这个思路后答案就很显然了:我们可以构造出一个由很多小房间的地图,这些小房间只有两个口,一个长 \(2\),让箱子正好能出去,一个长 \(1\),让人能走但箱子走不了,从而达到人绕远路去推箱子的目的

Code

#include <bits/stdc++.h>
using namespace std;
int main(){
cout <<"49 51"<<endl;
cout<< "......#....#....#....#....#....#....#....#....#...."<<endl;
cout<< ".#.#BBP..#.#.#...............#.#.#...............#."<<endl;
cout<< ".#..BB.....#...................#..................."<<endl;
cout<< ".#....#....#....#....#....#....#....#....#....#...."<<endl;
cout<< ".#######..###..#############..###..#############..#"<<endl;
cout<< ".#....#....#....#....#....#....#....#....#....#...."<<endl;
cout<< ".#.#.......#.......#.#.#.......#.......#.#.#......."<<endl;
cout<< ".#.......#.#.#.......#.......#.#.#.......#.......#."<<endl;
cout<< ".#....#....#....#....#....#....#....#....#....#...."<<endl;
cout<< ".##..#############..###..#############..###..######"<<endl;
cout<< ".#....#....#....#....#....#....#....#....#....#...."<<endl;
cout<< ".#.......#.#.#.......#.......#.#.#.......#.......#."<<endl;
cout<< ".#.#.......#.......#.#.#.......#.......#.#.#......."<<endl;
cout<< ".#....#....#....#....#....#....#....#....#....#...."<<endl;
cout<< ".#######..###..#############..###..#############..#"<<endl;
cout<< ".#....#....#....#....#....#....#....#....#....#...."<<endl;
cout<< ".#.#.......#.......#.#.#.......#.......#.#.#......."<<endl;
cout<< ".#.......#.#.#.......#.......#.#.#.......#.......#."<<endl;
cout<< ".#....#....#....#....#....#....#....#....#....#...."<<endl;
cout<< ".##..#############..###..#############..###..######"<<endl;
cout<< ".#....#....#....#....#....#....#....#....#....#...."<<endl;
cout<< ".#...................#...................#.......#."<<endl;
cout<< ".#.#...............#.#.#...............#.#.#......."<<endl;
cout<< ".#....#....#....#....#....#....#....#....#....#...."<<endl;
cout<< ".###############################################..#"<<endl;
cout<< ".#....#....#....#....#....#....#....#....#....#...."<<endl;
cout<< ".#.#...............#.#.#...............#.#.#......."<<endl;
cout<< ".#...................#...................#.......#."<<endl;
cout<< ".#....#....#....#....#....#....#....#....#....#...."<<endl;
cout<< ".##..#############..###..#############..###..######"<<endl;
cout<< ".#....#....#....#....#....#....#....#....#....#...."<<endl;
cout<< ".#.......#.#.#.......#.......#.#.#.......#.......#."<<endl;
cout<< ".#.#.......#.......#.#.#.......#.......#.#.#......."<<endl;
cout<< ".#....#....#....#....#....#....#....#....#....#...."<<endl;
cout<< ".#######..###..#############..###..#############..#"<<endl;
cout<< ".#....#....#....#....#....#....#....#....#....#...."<<endl;
cout<< ".#.#.......#.......#.#.#.......#.......#.#.#......."<<endl;
cout<< ".#.......#.#.#.......#.......#.#.#.......#.......#."<<endl;
cout<< ".#....#....#....#....#....#....#....#....#....#...."<<endl;
cout<< ".##..#############..###..#############..###..######"<<endl;
cout<< ".#....#....#....#....#....#....#....#....#....#...."<<endl;
cout<< ".#.......#.#.#.......#.......#.#.#.......#.......#."<<endl;
cout<< ".#.#.......#.......#.#.#.......#.......#.#.#......."<<endl;
cout<< ".#....#....#....#....#....#....#....#....#....#...."<<endl;
cout<< ".#######..###..#############..###..#############..#"<<endl;
cout<< ".#SS..#....#....#....#....#....#....#....#....#...."<<endl;
cout<< ".#SS.......#...................#..................."<<endl;
cout<< ".#.......#.#.#...............#.#.#...............#."<<endl;
cout<< "...####....#....#....#....#....#....#....#....#....";
return 0;
}

这图构造的我真痛苦啊!

http://www.jsqmd.com/news/375216/

相关文章:

  • 鸿蒙架构师修炼之道-如何成为团队的架构师
  • 全链路Token智控,「秒云Tokens管家」解锁AI工程优化新范式
  • MIAOYUN | 每周AI新鲜事儿 260212
  • 用 Go 实现一个可长期运行的 GitHub Webhook 服务实践
  • wpf自适应布局
  • 理性愉悦:分块套 NTT
  • 手搓一个Clawdbot
  • Markdown语法学习笔记2.1对字体设置斜体、粗体、删除线
  • 软件架构能力和任务分解编排能力是Ai大浪潮下的核心技能
  • 比尼德斯实业有限公司是干嘛的?文登教育
  • 在python 3.14 容器中安装和使用chdb包
  • Markdown语法学习笔记1快捷键
  • 小白从零开始勇闯人工智能:机器学习初级篇(PCA素材降维)
  • 题解:P15206 [SWERC 2018] Dishonest Driver
  • 题解:AT_pakencamp_2024_day1_c One Half
  • Burp Suite 入门文档(官方翻译)
  • PyTorch项目合集一
  • springboot民宿管理系统--附源码32900 - 详解
  • 免费城市夜景视频素材网站推荐
  • TikTok Shop东南亚2026退货新规来袭!海外仓这样布局抢占先机
  • 完整教程:MySQL数据可视化实战:从查询到图表全攻略
  • 面向大模型开发:在项目中使用 TOON 的实践与流式处理深度解析:原理、实战与踩坑记录
  • 3:【GitHub连接】Connection timed out port 22 → 改用443端口SSH(公司/校园网2026常见)
  • 探索 LDO 电路:模拟集成电路设计的实践之旅
  • 2:【新手最坑】git push HTTPS vs SSH反复失败怎么彻底统一
  • 4:【Git clone】fatal: unable to access / timeout / proxy设置
  • 如何在大数据领域运用 OLAP 提升业务洞察
  • 写论文是看完一堆文献后再写,还是边看边写
  • P10720 [GESP202406 五级] 小杨的幸运数字 欧拉筛
  • 5:【Git】remote origin already exists 如何安全修改URL