首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >分析流程

分析流程
EN

Code Golf用户
提问于 2020-05-13 15:30:33
回答 2查看 937关注 0票数 25

在一个环形方格网 (您可以环绕),其中每个单元格指示一个方向(^ > v <),如果我们选择一个单元格并开始沿着这些方向行走,我们最终会陷入一个循环。

我们可能会以不同的循环结束,这取决于我们的起始单元。

并不是我们遇到的所有细胞都构成了我们的终端回路:这些细胞据说是该回路的支流。

任务

给定正方形网格配置,计算每个循环L_i

  • 它由多少个细胞组成?n_i
  • 它有多少支流细胞?t_i

输入

您可以选择由4个可打印字符或整数组成的集合作为方向。

  • 将元素设置为项的方阵(可以是字符串)。

输出

  • 每个(n_i,t_i)L_i列表

这对可以按任何顺序排列。

示例

输入urdrurllruuuulrududllurdu

-vivid颜色:循环

-pale颜色:支流

在这种结构中,有3个环形(橙色,蓝色,绿色)的长度(2,2,6)和(0,10,5)支流细胞。

输出6 5 2 10 2 0

代码语言:javascript
运行
复制
Alternative inputs:
    1232124421111421313441231
    [[^,>,v,>,^],[>,<,<,>,^],[^,^,^,<,>],[^,v,^,v,<],[<,^,>,v,^]]

Valid outputs:
    2 10 2 0 6 5
    (2, 10), (6, 5), (2, 0)

Non valid outputs:
    10 2 2 0 6 5
    (0, 2), (10, 2), (6, 5)

这是密码-高尔夫,所以最短的代码获胜。

EN

回答 2

Code Golf用户

发布于 2020-05-13 20:14:37

K (ngn/k),99字节

代码语言:javascript
运行
复制
{l,'@[&*/s;c;+;1][h]-l:#'c h:*'?c:{x@<x:(x?a@*|x)_x}'{?x,a x}'/a::s/s!'(+(,/-:\|:\!2)@,/x)+!s:2##x}

在网上试试!

票数 7
EN

Code Golf用户

发布于 2020-05-14 05:00:47

JavaScript (Node.js),196个字节如果width=height

代码语言:javascript
运行
复制
m=>m[Q='flatMap'](U=(y,I)=>y[Q]((x,j)=>U[T=[...m+0,Y=m.length,i=I][Q](_=>0+[j=(c=m[i][j]-2,j+Y-~c%2)%Y,i=(i+Y+c%2)%Y])[k=0,Q](S=c=>(S[c]=-~S[c])==2&&++k&&c).sort()]?(++U[T][0],[]):[U[T]=[1-k,k]]))

在网上试试!

JavaScript (Node.js),205个字节

代码语言:javascript
运行
复制
m=>m[Q='flatMap'](U=(y,I)=>y[Q]((x,j)=>U[T=[...m+0,Y=m[W='length'],X=m[W],i=I][Q](_=>0+[j=(c=m[i][j]-2,j+Y-~c%2)%Y,i=(i+Y+c%2)%Y]).sort().filter(S=c=>(S[c]=-~S[c])==2)]?(++U[T][1],[]):[U[T]=[k=T[W],1-k]]))

在网上试试!

Ungolfed版本

代码语言:javascript
运行
复制
m=>m.flatMap(
  U=(y,I)=>y.flatMap(
    (x,j)=>
      U[
        T=[...m+0,Y=m.length,X=y.length,i=I].map(_=>(
          c=m[i][j],c%2?(i=(i+Y-2+c)%Y):(j=(j+X-1+c)%X),
          i*X+j
        )).sort().filter((c,k,S)=>S[k-1]!=c&S[k+1]==c)
      ]?(++U[T][1],[]):[U[T]=[k=T.length,1-k]]
  )
)

在网上试试!

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

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

复制
相关文章

相似问题

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