首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >爱泼柯特世界重排

爱泼柯特世界重排
EN

Code Golf用户
提问于 2015-10-31 05:43:52
回答 2查看 127关注 0票数 -1

诱导

如果你曾经去过迪斯尼世界的爱普科特,你很可能去过世界展示:一个被各种乡村主题的地方环绕的湖泊。有一件事一直困扰着我,那就是这些国家并没有按照你在世界范围内遇到它们的顺序出现。正式的有十一个,顺序是(顺时针方向绕着圆圈转):

代码语言:javascript
复制
Mexico
Norway
China
Germany
Italy
United States
Japan
Morocco
France
United Kingdom
Canada

挑战

按照上面给出的顺序编写一个函数或程序,以国家列表(作为列表、分隔字符串或其他方便的形式),并返回/输出它们,如果您是从您选择的起点开始,则返回/输出它们的顺序是,如果您是环游世界(东西或西-东),您会遇到它们。为了具体起见,让我们将每个国家的资本定义为其“地位”,并订购纵向。输出格式应与输入格式相同。

适用标准的高尔夫球规则。最短代码获胜,但以下奖金除外。获胜者将由达到标准的最低分数的代码决定,并将在至少七天内被选中。

奖金

如果您的代码可以接受任意的国家名称(除了上面列出的十一个)并对它们进行排序,那么从您的分数中减去33%。如果您调用此奖励,您必须从主子午线开始,但是您从那里走的方向取决于您自己。因为"主权国家“的总数是一个有争议的东西,我会满足其中至少190个。

示例

输入

代码语言:javascript
复制
['Mexico', 'Norway', 'China', 'Germany', 'Italy', 'Unites States', 'Japan', 'Morocco', 'France', 'United Kingdom', 'Canada']

输出

代码语言:javascript
复制
['Mexico', 'United States', 'Canada', 'Morocco', 'United Kingdom','France', 'Norway', 'Italy', 'Germany', 'China', 'Japan']
EN

回答 2

Code Golf用户

回答已采纳

发布于 2015-10-31 10:57:29

CJam (18字节)

这是一个匿名函数,它将输入作为字符串数组,并将其作为字符串数组返回。

代码语言:javascript
复制
{36061983185Bb\f=}

在线演示

一个稍微通用的版本是26个字节,它以任何顺序对11个国家的任何子集进行排序,并对它们进行正确排序:

代码语言:javascript
复制
{{71b226%75585218525Bb=}$}

为了获得更好的分数,30%的奖金需要对190个国家的数据进行最多37个字节的编码(包括使用它的代码);这大约是每个国家1.5位。但是190!约为2^1169.3,需要147个字节,因此,如果不使用外部数据源进行欺骗,那么30%的奖励显然是毫无意义的。

票数 4
EN

Code Golf用户

发布于 2015-10-31 05:57:52

Mathematica,50字节

代码语言:javascript
复制
f=SortBy[CountryData[#,"CapitalLocation"][[1,2]]&]

示例:

代码语言:javascript
复制
In[12]:= f@{"Mexico", "Norway", "China", "Germany", "Italy", 
  "United States", "Japan", "Morocco", "France", "United Kingdom", 
  "Canada"}

Out[12]= {Mexico,United States,Canada,Morocco,United Kingdom,France,Norway,Italy,Germany,China,Japan}

Mathematica对每种数据都有内置的函数.

附带奖金:

数学,58字节−33% = 38.86字节

代码语言:javascript
复制
f=SortBy[CountryData[#,"CapitalLocation"][[1,2]]~Mod~360&]
票数 5
EN
页面原文内容由Code Golf提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

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

复制
相关文章

相似问题

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