首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >逃离迷宫!

逃离迷宫!
EN

Code Golf用户
提问于 2019-09-17 06:08:03
回答 3查看 4.5K关注 0票数 21

你被困在这个5x5的迷宫里--每个房间的标签是从1到25,出口在1号房间。

你被给予作为输入的房间,你目前在。您的任务是输出到达1号房间所需的最短移动顺序(北、东、南、西)。

移动可以以任意格式输出(列表、字符串、数组.)只要您使用字符n,w,e,s

这里有所有的测试用例:

代码语言:javascript
运行
复制
1 => empty string/list
2 => w
3 => ww
4 => swwnw
5 => wswwnw
6 => seenwnw
7 => nw
8 => wnw
9 => wwnw
10 => swwnwnw
11 => eenwnw
12 => enwnw
13 => nwnw
14 => wnwnw
15 => wwnwnw
16 => enenwnw
17 => nenwnw
18 => wnenwnw
19 => nwnwnw
20 => wnwnwnw
21 => nenenwnw
22 => enwnenwnw
23 => nwnenwnw
24 => wnwnenwnw
25 => nwnwnwnw

最短答案(以字节为单位)获胜!

EN

回答 3

Code Golf用户

发布于 2019-09-18 07:01:30

C (clang),81字节

代码语言:javascript
运行
复制
v;f(p){p-1&&putchar(v="00wwswsnwwseenwwenwnwnenwn"[p])+f(p+=v%5?6-v%8:v%2?5:-5);}

在网上试试!

感谢@Tommylee2k建议-8!+递归调用

C (clang),90字节

代码语言:javascript
运行
复制
v;f(p){for(char*l="00wwswsnwwseenwwenwnwnenwn";p-1;p+=v%5?6-v%8:v%2?5:-5)putchar(v=l[p]);}

在网上试试!

类似于所有未压缩的解决方案。

票数 2
EN

Code Golf用户

发布于 2019-09-17 22:44:03

斯塔克斯,31 字节数

代码语言:javascript
运行
复制
α-J╒Θ▀╣ô¥$v╞||T←]┬yΣ╨z§£sU╕τR"┌

运行并调试它

票数 1
EN

Code Golf用户

发布于 2019-09-22 05:39:33

Kotlin,112个字节

代码语言:javascript
运行
复制
val d="  113130113220112010102010"
fun p(r:Int):String=if(r>1)"nwes"[d[r]-'0']+p("046:"[d[r]-'0']-'5'+r)
else ""

在网上试试!

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

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

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档