Исходя из этого: сделай мне квадрат!
Вам нужно вывести это:
####
# # #
### #
# # #
####
Где «#» заменяется вводом.
Если вы введете «А», вы должны получить
AAAA
A A A
AAA A
A A A
AAAA
Если вы введете «&», вы должны получить
&&&&
& & &
&&& &
& & &
&&&&
Leaderboard
Вот фрагмент стека, который генерирует как регулярную таблицу лидеров, так и обзор победителей по языкам.
/* Configuration */
var QUESTION_ID = 121651; // Obtain this from the url
// It will be like https://XYZ.stackexchange.com/questions/QUESTION_ID/... on any question page
var ANSWER_FILTER = "!t)IWYnsLAZle2tQ3KqrVveCRJfxcRLe";
var COMMENT_FILTER = "!)Q2B_A2kjfAiU78X(md6BoYk";
var OVERRIDE_USER = 48934; // This should be the user ID of the challenge author.
/* App */
var answers = [], answers_hash, answer_ids, answer_page = 1, more_answers = true, comment_page;
function answersUrl(index) {
return "https://api.stackexchange.com/2.2/questions/" + QUESTION_ID + "/answers?page=" + index + "&pagesize=100&order=desc&sort=creation&site=codegolf&filter=" + ANSWER_FILTER;
}
function commentUrl(index, answers) {
return "https://api.stackexchange.com/2.2/answers/" + answers.join(';') + "/comments?page=" + index + "&pagesize=100&order=desc&sort=creation&site=codegolf&filter=" + COMMENT_FILTER;
}
function getAnswers() {
jQuery.ajax({
url: answersUrl(answer_page++),
method: "get",
dataType: "jsonp",
crossDomain: true,
success: function (data) {
answers.push.apply(answers, data.items);
answers_hash = [];
answer_ids = [];
data.items.forEach(function(a) {
a.comments = [];
var id = +a.share_link.match(/\d+/);
answer_ids.push(id);
answers_hash[id] = a;
});
if (!data.has_more) more_answers = false;
comment_page = 1;
getComments();
}
});
}
function getComments() {
jQuery.ajax({
url: commentUrl(comment_page++, answer_ids),
method: "get",
dataType: "jsonp",
crossDomain: true,
success: function (data) {
data.items.forEach(function(c) {
if (c.owner.user_id === OVERRIDE_USER)
answers_hash[c.post_id].comments.push(c);
});
if (data.has_more) getComments();
else if (more_answers) getAnswers();
else process();
}
});
}
getAnswers();
var SCORE_REG = /<h\d>\s*([^\n,]*[^\s,]),.*?(\d+)(?=[^\n\d<>]*(?:<(?:s>[^\n<>]*<\/s>|[^\n<>]+>)[^\n\d<>]*)*<\/h\d>)/;
var OVERRIDE_REG = /^Override\s*header:\s*/i;
function getAuthorName(a) {
return a.owner.display_name;
}
function process() {
var valid = [];
answers.forEach(function(a) {
var body = a.body;
a.comments.forEach(function(c) {
if(OVERRIDE_REG.test(c.body))
body = '<h1>' + c.body.replace(OVERRIDE_REG, '') + '</h1>';
});
var match = body.match(SCORE_REG);
if (match)
valid.push({
user: getAuthorName(a),
size: +match[2],
language: match[1],
link: a.share_link,
});
});
valid.sort(function (a, b) {
var aB = a.size,
bB = b.size;
return aB - bB
});
var languages = {};
var place = 1;
var lastSize = null;
var lastPlace = 1;
valid.forEach(function (a) {
if (a.size != lastSize)
lastPlace = place;
lastSize = a.size;
++place;
var answer = jQuery("#answer-template").html();
answer = answer.replace("{{PLACE}}", lastPlace + ".")
.replace("{{NAME}}", a.user)
.replace("{{LANGUAGE}}", a.language)
.replace("{{SIZE}}", a.size)
.replace("{{LINK}}", a.link);
answer = jQuery(answer);
jQuery("#answers").append(answer);
var lang = a.language;
if (/<a/.test(lang)) lang = jQuery(lang).text();
languages[lang] = languages[lang] || {lang: a.language, user: a.user, size: a.size, link: a.link};
});
var langs = [];
for (var lang in languages)
if (languages.hasOwnProperty(lang))
langs.push(languages[lang]);
langs.sort(function (a, b) {
if (a.lang > b.lang) return 1;
if (a.lang < b.lang) return -1;
return 0;
});
for (var i = 0; i < langs.length; ++i)
{
var language = jQuery("#language-template").html();
var lang = langs[i];
language = language.replace("{{LANGUAGE}}", lang.lang)
.replace("{{NAME}}", lang.user)
.replace("{{SIZE}}", lang.size)
.replace("{{LINK}}", lang.link);
language = jQuery(language);
jQuery("#languages").append(language);
}
}
body { text-align: left !important}
#answer-list {
padding: 10px;
width: 290px;
float: left;
}
#language-list {
padding: 10px;
width: 290px;
float: left;
}
table thead {
font-weight: bold;
}
table td {
padding: 5px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<link rel="stylesheet" type="text/css" href="//cdn.sstatic.net/codegolf/all.css?v=83c949450c8b">
<div id="answer-list">
<h2>Leaderboard</h2>
<table class="answer-list">
<thead>
<tr><td></td><td>Author</td><td>Language</td><td>Size</td></tr>
</thead>
<tbody id="answers">
</tbody>
</table>
</div>
<div id="language-list">
<h2>Winners by Language</h2>
<table class="language-list">
<thead>
<tr><td>Language</td><td>User</td><td>Score</td></tr>
</thead>
<tbody id="languages">
</tbody>
</table>
</div>
<table style="display: none">
<tbody id="answer-template">
<tr><td>{{PLACE}}</td><td>{{NAME}}</td><td>{{LANGUAGE}}</td><td>{{SIZE}}</td><td><a href="{{LINK}}">Link</a></td></tr>
</tbody>
</table>
<table style="display: none">
<tbody id="language-template">
<tr><td>{{LANGUAGE}}</td><td>{{NAME}}</td><td>{{SIZE}}</td><td><a href="{{LINK}}">Link</a></td></tr>
</tbody>
</table>
B³S‖O↗
это очень хорошо , может быть близко к 10 байт ответа на угле , хотя ... Я просто не знаю языка достаточно хорошо , чтобы сделать это, действительно должно быть страница , как это , но для древесного угля.Ответы:
Морковь , 31 байт
#
s заменяются вводом.В основном порт этого ответа , к этой проблеме.
источник
05AB1E ,
1615 байтПопробуйте онлайн!
объяснение
источник
•nxвΛ•bTRð¹ì‡6ô»
... ваши ритмы немного транслитерируются, только из-за требований к оформлению заказа; если бы я мог найти способ неявно принять ввод и сгенерировать строку01
в 1 байт, это было бы решение 13/14 байт.•nxвΛ•bT𹫇6ô»
илиð«T•nxвΛ•br‡6ô»
такой же длины.Cubix , 62 байта
Попробуйте онлайн! и смотреть переводчик!
Это подходит для 4-куба:
Я не очень хорош в манипулировании направлением указателя инструкции, поэтому я буду продолжать пытаться играть в эту игру. И это, и мой ответ здесь основаны на «Привет, мир!» пример программы, использующей
./v.o;@?/
(на 3-кубе) рекурсивную печать и выталкивание символов в стек, поэтому остальная часть кода просто помещает символы в стек в правильном порядке.Теперь я сделал куб на кубе, чтобы я мог спокойно отдыхать (и выполнять свою реальную работу).
источник
СОГЛ ,
1310 байтОбъяснение:
источник
MATL ,
1310 байтСпасибо Конору О'Брайену за удаление 3 байтов и за то, что он показал мне, что непечатные файлы можно использовать в Octave.
Код содержит непечатаемые символы. Попробуйте онлайн!
объяснение
источник
echo 0f15392a3c|xxd -r -p|clip
. На окнахclip
есть буфер обмена. Тогда я просто вставил их: P (Если вы в командной строке, это^O^U
тоже)PHP, 52 байта
Попробуйте онлайн!
источник
Japt , 20 байт
Проверьте это онлайн!
Неплохо для языка без встроенного сжатия (ну, кроме сжатия строк из строчных букв) ...
объяснение
В двоичном коде пять символов в строке:
Отрежьте начальный
1
от каждого, и вы получите шаблон для куба.источник
ll
может быть сжат), но это на 11 байт длиннее.LOLCODE,
202170 байтВ LOLCODE не так много для гольфа ...
Это устанавливает переменную
c
во входных данных и создает гигантскую каскадную строку, включая:)
переводы строки. Вот и все.источник
expected HAI at: I
tio.run/nexus/...VISIBLE
неявно объединяет, так что вы можете удалитьSMOOSH
tio.run/nexus/lolcode#@@/…Сед, 40 знаков
Почти читерство, поскольку описание задачи содержало его буквально.
Образец прогона:
Попробуйте онлайн!
источник
Python 2 , 61 байт
Попробуйте онлайн!
источник
Сборка Z80, машинный код 37 байтов
Предположим, что устройство ввода-вывода с отображенной памятью:
источник
V , 27 байтов
Попробуйте онлайн!
HexDump:
источник
o<esc>
на простоï
PHP, 72 байта
Я сделал это просто для удовольствия, так как уже есть лучший ответ PHP.
Куб рисуется путем получения двоичного значения
64349871
, объединенного с'00'
.Это возвращает следующее:
Каждый шестой символ выводит новую строку, в результате чего получается:
И вместо отображения
0
он отображает пробел, который будет выглядеть так:источник
Древесный уголь ,
1716 байтПопробуйте онлайн! Ссылка на подробную версию кода. Дольше, чем я хотел, потому что «куб» немного шире, чем высокий или глубокий. К счастью, некоторые многонаправленные символы работают с PolygonHollow, что экономит мне 3 байта. Изменить: Сохранение следующего байта с помощью + вместо T ↑. Объяснение:
Во время испытания
q
переменная не работала в подробном режиме, иначе я мог бы создать эту 14-байтовую версию:Попробуйте онлайн!
источник
С накоплением , 31 байт
Попробуйте онлайн!
Вот hexdump:
Это преобразует массив символов в двоичный файл, дополняет каждую строку до длины
6
и индексирует ее в соответствии со строкой' ' input +
источник
Pyth,
25222120 байтПопытайся!
21 байт
Попробуй это!
Также 21 байт:
Попробуй это!
источник
JS (ES6),
646052 байтаМожно ли это улучшить:
источник
y=i+i+i+i
корочеy=i.repeat(4)
####
еще короче.C (gcc) ,
9084 байтаПопробуйте онлайн! Определяет функцию,
f
которая принимает символg
. Жаль, что кодирование таблицы напрямую короче ...Старая версия, 90 байт
(Все еще пытаюсь играть в гольф в этом)
Попытка иметь только один
putchar
, но ИДК. Есть непечатаемые, поэтому вот hexdump:Это кодирует куб в двоичную таблицу поиска, где
1
бит представляет собой ввод, а0
бит представляет пробел. Попробуйте онлайн!источник
Brain-Flak , 217 байт
Попробуйте онлайн!
Ваааааа слишком долго.
источник
Swift - 82 байта + основание (18 байтов)?
По умолчанию проекты Xcode-Swift имеют
Whole-Module Optimization
, так чтоimport Foundation
это не требуется для этой простой лямбда-подобной функции. Однако для его запуска в онлайн-средах это необходимо, что может добавить 18 байт.Проверьте это!
источник
Java 8, 55 байт
Попробуй это здесь.
Java 7, 77 байт
Попробуй это здесь.
источник
CJam, 23 байта
Я чувствую, что все еще могу играть в гольф.
источник
постоянный ток , 70 байт
Кодирует последовательность довольно напрямую, с незначительной оптимизацией:
Попробуйте онлайн!
Взятый до (не очень гольфового) экстрима, 145 байтов:
Попробуйте онлайн!
Это вычисляет
A*x+B
, гдеA
кодирует позиции входного символа иB
кодирует все остальные:P
Команда печатает полученное число в виде потока байтов.источник
C #, 53 байта
источник
Пакет Windows, 79 байт
Специальный символ безопасно, 97 байт:
источник
.. %1%1%1%1\n %1 %1 %1...
Tcl, 60 байт
источник