首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >写出所有可能的盲文字符

问写出所有可能的盲文字符
EN

Code Golf用户
提问于 2012-09-26 05:22:31
回答 2查看 1.4K关注 0票数 15

今天早上,我突然想到一个有趣的谜题,看电梯按钮。

您需要生成符合2x3网格的所有盲文模式的列表。使用散列#表示凸点,用连字符-表示平面区域。

预期产出样本:

代码语言:javascript
复制
#-
--
--

##
--
--

#-
#-
--

(and so on...)

规则:

  • 您的程序必须至少用一个字符或一行分隔每个模式。
  • 模式可以按任何顺序生成。
  • 所有的图案,不管盲文字母表实际使用什么,都应该制作出来。完全空白的模式是可选的。
  • 只应生成唯一的凸点模式。以下模式被认为是等量的,因为凸起是在一个相同的排列。在这些情况下,使用最接近左上角的模式(即.)本例中的第一个选项。)
代码语言:javascript
复制
#-  -#  --  --
#-  -#  #-  -#
--  --  #-  -#

加成点,如果你可以使它工作在任何x的y大小的网格。(编辑:在合理范围内。4x4足以证明概念。)

阅读维基的文章,似乎有45个模式(包括空白)符合这个谜题的规则。

EN

回答 2

Code Golf用户

发布于 2012-09-26 15:41:23

Mathematica 97

代码语言:javascript
复制
Grid /@ Cases[(#~Partition~2 & /@ Tuples[{"#", "-"}, 6]), x_ /; 
         x[[All, 1]] != {"-", "-", "-"} && x[[1]] != {"-", "-"}]

空白不包括:

代码语言:javascript
复制
Length[%]

44

注:这是数学中的一个字符。

票数 3
EN

Code Golf用户

发布于 2012-09-26 15:45:18

C# - 205

代码语言:javascript
复制
class C{static void Main(){var s="---##-##";Action<int,int>W=(i,m)=>{Console.WriteLine(s.Substring((i>>m&3)*2,2));};for(int i=0;i<64;++i){if((i&3)>0&&(i&42)>0){W(i,0);W(i,2);W(i,4);Console.WriteLine();}}}}

可读的版本:

代码语言:javascript
复制
class C
{
    static void Main()
    {
        var s = "---##-##"; // all two-bit combinations
        // a function to write one two-bit pattern (one line of a Braille character)
        Action<int,int> W = (i,m) => { Console.WriteLine(s.Substring(((i >> m) & 3) * 2, 2)); };
        // for all possible 6-bit combinations (all possible Braille characters)
        for(int i = 0; i < 64; ++i)
        {
            // filter out forbidden (non-unique) characters
            if ((i & 3) > 0 && (i & 42) > 0)
            {
                // write three rows of the Braille character and an empty line
                W(i,0);
                W(i,2);
                W(i,4);
                Console.WriteLine();
            }
        }
    }
}
票数 3
EN
页面原文内容由Code Golf提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

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

复制
相关文章

相似问题

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