首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >扩展Domino点

问扩展Domino点
EN

Code Golf用户
提问于 2015-09-15 00:00:51
回答 1查看 266关注 0票数 6

Introduction

开课了!无聊也是如此。我决定在我的笔记本上涂鸦,并开始画一些点(国际海事组织)一种美感的方式。我想出了这些数字:

基于这些条件:

给予(n,m)

( 1)必须有n个点

( 2)所有点必须位于m×m格上。

3)点的位置必须使左上角的距离最小。

4)如图所示,点的结构必须是对角对称的:

*扩散(在这个上下文中)被定义为从左上角点位置的距离之和(是否有一个点)。例如,上面示例的扩展是0+1+2+1+√2 +2+ 2√2 =6+ 3√2

挑战

提出一种使用自然数n和m(总是n <= m^2)的算法来生成符合上述所有规则的点的配置。

输入可以通过STDIN、命令行参数或函数参数接收.

将模式输出到STDOUT或返回带有换行符的字符串。输出中可以使用任意两个不同的字符。(例如

代码语言:javascript
复制
110
100
000

是相同的

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

最短代码在拜特斯赢得

示例

STDIN:6 3

STDOUT:

代码语言:javascript
复制
***
**_
*__

挑战结束了!

七天后,我决定宣布获奖者,但首先一些特殊的奖项!

最快的密码到..。或者他在派斯的投稿!

最慢的代码到..。或者他在派斯的投稿!

最直接的代码是..。或者他在派斯的投稿!

最令人困惑的代码是..。或者他在派斯的投稿!

最长的密码到..。或者他在派斯的投稿!

与最后但并非最不重要的

最短代码到.或者他在Pyth !

上的投稿

祝贺你!

EN

回答 1

Code Golf用户

回答已采纳

发布于 2015-09-15 11:19:06

Pyth,37字节

代码语言:javascript
复制
jc:*d*QQiRQhos.aMNf.Am}_dTT.c^UQ2vzNQ

慢解。生成所有可能的[0,m]对,生成这些对的所有可能的n-组合(不重复)。过滤每对组合,如果P在组合中,reverse(P)也是。这保证了对角线对称。根据距离的总和对原点进行排序。将数字对解码为基-m数,给出一个索引列表。除了这些索引之外,创建一个空格字符串,用引号代替。最后切成m块,用新的线条连接起来。创建这样的输出:

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

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

复制
相关文章

相似问题

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