首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >科学家海豹困在冰山上

科学家海豹困在冰山上
EN

Code Golf用户
提问于 2015-05-11 17:28:34
回答 1查看 588关注 0票数 17

Introduction

一家海豹被困在北极圈的冰山上。冰山上有一个无线电发射机,海豹可以用它来呼救。然而,只有爸爸的海豹知道如何操作无线电发射机。更糟糕的是,一年中的这个时候,冰非常滑,所以海豹会失控地滑行,直到它们撞到另一只海豹或者从冰山边缘滑落,这使得爸爸海豹很难到达无线电发射机。幸运的是,其中一只海豹是一位计算机科学家,所以她决定编写一个程序,想出如何将爸爸的封条操纵到无线电发射机上。由于冰上没有足够的空间来编写程序,她决定让程序使用尽可能少的字节。

输入描述

海豹的程序将接受来自STDIN、命令行参数或用户输入函数(如raw_input())的输入。它不能在变量中预先初始化(例如:“此程序期望变量x中的输入”)。

输入的第一行由两个以逗号分隔的整数组成。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
A,B

下面是由每个B字符组成的A行。每一行只能包含下列字符:

  • .:寒冷,寒冷,海洋。地图上永远都有这条边界。
  • #:冰山的一部分。
  • a.z:一只不是冰山上的爸爸印章的海豹。
  • D:冰山上的爸爸封印。
  • *:无线电发射机。

(请注意,爸爸印章总是用大写字母D标注的。小写d只是一个普通的印章。)

输出描述

根据下面关于海豹如何移动的规则,输出一份关于封条应该如何移动的指令列表,以便把爸爸的封条送到无线电发射机。

  1. 规则:所有封条都可以向上(U)、向下(D)、左(L)和右(R)移动。他们不能斜滑。
  2. 规则:一只海豹在移动时会继续向同一方向移动,直到它与另一只海豹相撞或掉进海里。
    1. 如果一只海豹与另一只海豹相撞,它就会停止移动。它与之相撞的封印不会移动。
    2. 如果海豹掉进海里,它就会淹死,从地图上消失。也就是说,它不是其他封条的对撞机,也不能再移动。

  3. 规则:两只海豹不能同时移动,在另一只还在移动的时候,印章也不能移动。下一个印章只能在先前的印章停止移动后才能移动。
  4. 规则:不限制多次移动海豹,也不限制溺水的海豹数量。
  5. 规则:正确的解决方案将在无线电发射机的爸爸密封端。爸爸的密封不能简单地通过发射机,同时滑动。

输出将由几行组成,每一行的形式如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
A,B

其中A是要移动的印章(D代表爸爸印章,a.z代表其他人),B是移动印章的方向( UDLR)。请注意,您不需要找到最短的路线。任何让爸爸封印到目标的路线都是可以接受的输出。

示例输入和输出

输入:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
25,5
.........................
.#######################.
.####D#############*k###.
.#######################.
.........................

输出:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
D,R

输入:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
9,7
.........
.a#####b.
.#####d#.
.##l*###.
.###m#p#.
.#D#.#c#.
.........

产出(多项产出中的一项):

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
m,R
b,L
D,U
D,R
D,D
D,L

输入:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
26,5
..........................
.###..................###.
.l*##########v#########D#.
.###..................###.
..........................

产出(多项产出中的一项):

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
v,D
D,L

如果您有任何其他问题,请在评论中提出。

EN

回答 1

Code Golf用户

回答已采纳

发布于 2015-05-11 22:14:15

Python 3,520字节

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
R=range
g=[list(input())for i in R(int(input().split(',')[1]))]
f=set(sum(g,[]))-set(".#*")
L=8
def P(p,g):
 if len(p)>L:return
 for s in f:
  c=sum(y.index(s)for y in g if s in y)
  if c<1:continue
  r,=[n for n in R(len(g))if s in g[n]]
  for d in R(4):
   m=p+s+",%s\n"%"LURD"[d];G=[y[:]for y in g];o="#";i,j=I,J=r,c
   while"#"==o:G[i][j]="#";G[I][J]=s;i,j=I,J;I,J=i+d%2*(d-2),j+(~d%-2&d-1);o=G[I][J]
   if"."==o:G[i][j]="#"
   if"D"==s:
    if"."==o:continue
    if"*"==o:print(m);1/0
   P(m,G)
while 1:P("",g);L+=4

如果人们愿意的话,我稍后可能会做一个更详细的解释,但是基本上,这在可能的移动的状态空间上运行了一个深度优先搜索与迭代深化。如果一个动作导致爸爸的海豹掉下来,它会立即被拒绝。如果爸爸在发送器旁边结束,则打印移动顺序,程序除以零强制退出。

我可以通过在第二行(最后一行为8个额外字节)添加if G!=g:来使代码运行得更快--这将拒绝任何不改变任何内容的移动,例如第一个测试用例中的k,L

运行时在一次运行到下一次运行时有明显的变化,即使有相同的输入--这显然是因为我通过迭代set来选择下一个印章来移动,这是一个无序的类型。我把第二个测试用例的时间定在5分30秒,尽管我第一次运行它的时间似乎并不长。有了上面提到的优化,它更像是40秒。

票数 6
EN
页面原文内容由Code Golf提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://codegolf.stackexchange.com/questions/50042

复制
相关文章
Python 实战(6):放开那只海豹
有了一堆数据后,现在可以把影片详细页面做得更详细一点了。 首先能想到的,就是加上影片的海报。在从豆瓣获取的数据里,有一项 image,就是影片海报图片的地址。如: http://img4.douban.com/view/movie_poster_cover/lpst/public/p1910830216.jpg 把地址贴在浏览器中,就可以看到海报图片。 HTML 里显示图片的语法是: <img src="图片地址"> 于是,在模板 movie.html 里增加: <img src="$movie.image
Crossin先生
2018/04/16
5210
困在流量里的CRM
来源:ToBSaaS|作者:戴珂 ---- CRM的中国式困局 目前企服领域最火的是SaaS,而SaaS中最火的非CRM莫属,这可能与SaaS启蒙者Salesforce也是从CRM起家的不无关系。 实际上,国内SaaS选择CRM这个切入点,还是非常合适的;因为它与企业的收入紧密相关,没法不受重视。 但是,即使是市值超2500亿美金的Salesforce,在国内SaaS创业者眼中也没什么地位;因为它总会被找出各种不适和毛病,哪哪都不符合中国国情。 所以,CRM必须结合国情加以创新,于是就涌现出成百
腾讯SaaS加速器
2021/10/12
3830
困在流量池的视频博主们
想做视频博主的你是不是总会被作品流量所困扰? 精心策划的内容观看量总是很低,明明都用上了专业的拍摄、录音设备,反复修改了脚本文案,发出去后却没太大水花。 但是其他人发出去同样的内容却能收获十万、百万级的观看和点赞认可。 这或许是你还没有掌握热点标签的正确用法。 01 标签质量决定视频的运营质量 据悉,2021年互联网中,网友创作并上传的短视频数量已经高达数十亿,短视频平台每天有接近6亿用户平均花费两小时观看短视频内容。 而目前短视频平台上标签总数已达到千万量级,标签与作品间的相关性接近九成,选择一个合适的标
腾讯云AI
2022/02/17
4380
为何测试困在内卷陷阱里?
本来老张约ckl和我做一次圆桌讨论,无奈疫情原因我参加不了,ckl和老张联合来了一场直播,对于直播的话题我们也想了下,相对于各类专项技术,不如聊一聊大家的现状以及可能突破的方向,关于测试为何困在内卷陷阱里,这个话题显然比较实际,事实上老张和ckl也聊的很充分,下面内容是一些核心总结点。
周辰晨
2022/09/20
3030
为何测试困在内卷陷阱里?
滴滴:盈利困在成本,流量囿于生态
4月9日晚间,据报道称滴滴出行向SEC秘密提交IPO文件申请在美挂牌,寻求通过美国公开上市获得700-1000亿美元估值。同日,彭博社报道,滴滴出行在IPO之前通过循环贷款筹集15亿美元。
灵猫财经
2021/05/05
6460
泡泡玛特困在了盲盒里?
神秘、未知、刺激、解压等诸多特质,让盲盒日渐成为年轻一代的新宠,盲盒的热潮也由此掀起,盲盒经济也随之火热。而在众多随着盲盒经济走红的品牌中,最广为人知的当属泡泡玛特了。众所周知,“潮玩第一股”泡泡玛特正是通过盲盒成功打开了大众潮玩市场的大门,并凭借盲盒商机一路开挂,这从其发布的财报可以窥探一二。
用户6132544
2022/04/02
3860
困在Java理论中的门外汉!
就是多数人把精力用在了学习理论基础上,而在实践方面顶多是在网上找个小demo,毫无系统性。
macrozheng
2020/12/21
3060
[ Docker篇 ] - 拓冰之旅
工作过程中经常会搭建各种设备的编译环境,电脑出现问题,安装系统之后还需要重新搭建,然而现在Docker 帮你解决环境配置难的问题,Docker 类似与虚拟机,但是性能,速度又比虚拟机快,启动速度足够快,占用内存也足够小。这里记录安装/使用Docker的步骤
程序手艺人
2019/02/20
6930
困在流量池的视频博主们
以下文章来源于腾讯云AI ,作者Jerry 想做视频博主的你是不是总会被作品流量所困扰? 精心策划的内容观看量总是很低,明明都用上了专业的拍摄、录音设备,反复修改了脚本文案,发出去后却没太大水花。 但是其他人发出去同样的内容却能收获十万、百万级的观看和点赞认可。 这或许是你还没有掌握热点标签的正确用法。 01 标签质量决定视频的运营质量 据悉,2021年互联网中,网友创作并上传的短视频数量已经高达数十亿,短视频平台每天有接近6亿用户平均花费两小时观看短视频内容。 而目前短视频平台上标签总数已达到千万
腾讯云TI平台
2022/03/03
7750
从海豹窥见比亚迪的品牌向上之路 | 数读汽车
海豹是比亚迪今年投放的重磅产品,作为比亚迪e平台3.0的产物,海豹身上可谓集齐了比亚迪e平台3.0的大部分核心卖点,包括CTB电池集成到车身、高压快充平台、ITAC扭矩分配等新技术。
用户1569917
2022/11/14
3620
困在赛博世界里的“仿生机器人”
故事发生在几十年后的反乌托邦地球,整个世界充斥着黑色、阴暗的基调,人和机器的界限越来越模糊,虚拟和现实彼此交融混杂……隐藏在赛博背景下的,则是对生命、情感、人性等命题的哲思。
Alter聊科技
2023/01/13
3300
【独家】征信专题:坐在大数据金山上的Equifax
接上期:上期我们介绍了征信三巨头背后的大佬——费埃哲公司。他们的评分标准已经成为了美国征信业的事实标准。国内很多公司包括宜信等都是基于这个评分模型进行二次开发的。这期我们想通过一个大公司的案例来看看,这种数据类型的公司是如何赚钱的。 作为美国三大征信所之一,Equifax(艾可飞)公司存储着所有美国成年人以及另外16个国家公民的财务数据,其中包括全球5亿个消费者和8100万家企业。这些信息可谓是五花八门:哪些人在共享同一电话号码或地址、牙齿治疗贷款的申请、杂志订阅、租赁历史记录、房地产资产、投资理财、购买
大数据文摘
2018/05/22
6380
2002年-至今阿拉斯加北部的北极地区测量数据集(气候、冰层、生态系统和人类活动)
Measurements in the Arctic region north of Alaska in 2002
此星光明
2024/08/09
1490
2002年-至今阿拉斯加北部的北极地区测量数据集(气候、冰层、生态系统和人类活动)
假如你的下一个朋友是机器人?
据美国《大西洋月刊》网站近日报道,由于埃博拉疫情持续爆发,有很多医护人员被输送到疫区,虽然他们是医生,但无论多小心,也很容易感染变成受害者。为了降低这一风险,日前,美国白宫和三所教育机构与科学家们讨论如何使用机器人处理埃博拉危机。 研究小组的目标是尽可能减少生理接触,但同时保证病人和家属之间的联系。科学家希望机器人前往疫区并派送供给品,远程操控机器人可以在保证家属安全的前提下让他们探访病人。研究小组并不打算重新研发一个机器人,而是修改现有机器人。如果一切进行顺利,研究人员将在几周或数月时间内安排机器人对病
机器人网
2018/04/13
7510
假如你的下一个朋友是机器人?
小冰CEO李笛:小冰链不是中国版ChatGPT
---- 新智元报道   编辑:Aeneas 好困 【新智元导读】国内的公司就必须抄ChatGPT吗?其实,还有另一条路可以走。今天,小冰链给了我们答案——CoTA。 ChatGPT激起的火种,正在中国科技公司急速蔓延。国内的各个大厂内,算法工程师们纷纷开启冲刺倒计时,迎来一个个不眠夜。 而在创投圈的饭桌上,到处都能听到「誓要做中国第一个ALL in GPT的VC」的声音。 兴奋者有之,观望者有之,唱衰者有之。所有人都在翘首以盼:谁能成为中国的第一个ChatGPT? 而如今,这股ChatGPT热潮中,
新智元
2023/02/24
4180
小冰CEO李笛:小冰链不是中国版ChatGPT
官宣:“观音山上观山水”70万征联启事
在2015年的首届东莞观音山书画论坛上,中国楹联学会副会长、广东省楹联学会会长邹继海在会上即兴提出一则上联:“观音山上观山水”,书画论坛现场不少人即兴应对下联,在网络上也引来千百人应对,一时热闹非凡,对者众多。历经几年,奖金从一开始的5000元提升到20000元,依然没有征集到合适的下联。2019年中秋节,东莞观音山景区悬赏7万元求下联,至10月31日截稿,遗憾的是,仍未能征得满意的下联。
章鱼猫先生
2021/10/15
2.4K0
官宣:“观音山上观山水”70万征联启事
挖个冰块就能修自己!科学家用「冰」做了辆科考机器车,南极火星都能跑
上周,北京低温跌破21世纪最低纪录,达到零下20度。泼水成冰不只是东北的独有景观,北京的小伙伴也体验了一把快乐。
大数据文摘
2021/01/25
4400
困在系统里的“研发效能度量”该如何自救
  前段时间读了一篇文章:“外卖骑手,困在系统里”,引发了我很多的思考,后来有幸和作者有过一次交流更是让我印象深刻。上两周我写了一篇文章“如何用研发效能搞垮一个团队”引起了业界同行大量的讨论与关注,今天想借此继续来聊聊研发效能提升过程中另一个无法回避的的话题:“度量”。 历史上度量失败的案例 先看一张图,这是英国街头的房屋,你可能好奇这些房屋的窗户为什么都被封了起来。 这其实是“窗户税”所引发的不良后果。 1696年之前,英国政府对于个人房屋的税收采用的是“壁炉税”,也就是根据屋内的壁炉数量来计
WeTest质量开放平台团队
2021/08/30
6620
【网页设计】HTML+CSS保护野生动物北极熊介绍网页设计专题
✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 💂 作者主页: 【主页——🚀获取更多优质源码】 🎓 web前端期末大作业: 【📚毕设项目精品实战案例 (1000套) 】 🧡 程序员有趣的告白方式:【💌HTML七夕情人节表白网页制作 (110套) 】 🌎超炫酷的Echarts大屏可视化源码:【🔰 echarts大屏展示大数据平台可视化(150套) 】 🎁 免费且实用的WEB前端学习指南: 【📂web前端零基础到高级学习视频教程 120G干货分享】 🥇 关于作者: 历任研发工程师,技
IT司马青衫
2022/08/10
6250
【网页设计】HTML+CSS保护野生动物北极熊介绍网页设计专题
python画冰墩墩
代码下载冰墩墩.zip 也可以复制以下代码到文件,并命名为冰墩墩.py import turtle turtle.title('冰墩墩') turtle.speed(10) # 速度 # 左手 turtle.penup() turtle.goto(177, 112) turtle.pencolor("lightgray") turtle.pensize(3) turtle.fillcolor("white") turtle.begin_fill() turtle.pendown() turtle
似水的流年
2022/02/12
5.6K0
python画冰墩墩

相似问题

计算从山上滚下来的岩石

60

把英雄困在迷宫里

30

在“新科学家”(弦线旋转)上胜过“怪胎”

20

救命,我被困在无限的工厂里了!

10

把弦变成六角形螺旋!

30
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文