首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >找到海岸线

找到海岸线
EN

Code Golf用户
提问于 2016-02-05 23:56:22
回答 2查看 496关注 0票数 14

您的任务是查找ASCII地图中提供的岛屿地图的海岸线长度。输入地图将由一个或多个#字符组成,这些字符表示陆地,以及表示水的空格。海岸线被认为是陆地和水之间的任何边缘,包括内陆湖泊和岛屿。

您的解决方案应该是一个完整的程序,它读取文件、字符串或字符串数组,并将单个整数输出到屏幕或标准输出。每个输入行都可能有前导或尾随空格,以及零或多个散列字符。地图的边界被认为是空间(水)。

线条可能有不同的长度。

示例:

代码语言:javascript
复制
Input:
##
##
Output: 8

Input:
    ###    ###
  #####     #
   ##
Output: 26

Input:
  #####
  #   #
  # # #
  #   #
  #####
Output: 36

这是代码高尔夫,所以最小的字节数获胜。

EN

回答 2

Code Golf用户

发布于 2016-02-06 00:04:47

蜗牛,8字节

代码语言:javascript
复制
A
\#o!\#

A选项意味着计数所有匹配的路径,而不是匹配成功的起始点。\#消耗了一个#o转向了一个基本方向,而!\#是一个否定的断言,如果我们面前没有#,它就会成功。

票数 14
EN

Code Golf用户

发布于 2016-02-06 01:35:01

马蒂尔42字节

代码语言:javascript
复制
c2\FTFt!*Y+2*qFTFtl-4lhhbvv_2X53$Y+t0>)s2/

这将接受输入作为窗体的字符串单元格数组。

代码语言:javascript
复制
{'#####', '#   #', '# # #', '#   #', '#####'}

它首先将输入转换为2D字符数组,填充空格,然后转换为0和1的矩阵。然后用两个不同的掩码对2D-卷积进行两次处理:第一次用于扩展矩阵,第二次用于边缘检测。

在网上试试!

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

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

复制
相关文章

相似问题

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