変更された切り替え可能なコードと出力:CnR Edition(Cops)


8

これは警官のスレッドです。強盗のスレッドはこちらです。

バックグラウンド

Boggleは、ランダムなアルファベットの4行4 のボード上で英語の単語を見つける必要があるボードゲームです。ボード上の隣接するセルを順番に選択することにより、ワードを構成できます。(「隣接」とは、水平方向、垂直方向、または斜めに隣接していることを意味します。)また、同じセルを1度に複数回使用することはできません。

以下はボードの例です。

I L A W
B N G E
I U A O
A S R L

このボードでは、BINGOORANGEおよびWEARS有効な言葉がありますが、SURGERUSSIAはありません。

  • SURGE:ボード上に隣接するペアはありませんRG
  • RUSSIAS2回使用できません。

Modified Boggleは、次のルールを備えたBoggleの修正バージョンです。

  • ボードサイズはm-by-ですn。ここでmnは任意の正の整数です。
  • 各セルには、0から255までの1バイトを含めることができます。
  • セルは2回以上使用できますが、2回続けて使用することはできません。

上記の例のボードを使用すると、とに加えてBINGO、有効な文字列になります(2回続けて使用されるため、2回続けて使用されるわけではありません)が、まだペアにはなっていないためです。ORANGEWEARSLANGUAGEGRUSSIASS

これは、コードフラグメントを使用した別の例です。文字列from itertools import*\nは次のボードにありますが、from itertoosl import*orにはありませんfrom itertools import *

f   i   ' ' s
r   t   m   l
e   o   o   p
\n  *   t   r

シーケンスoを一致させるには、2つのが必要であることに注意してくださいoo


警官の挑戦

書く完全なプログラムを選択した言語で満たし、次のルールという。

  • プログラムは、複数の実行にわたって一貫性のあるものを印刷する必要があります。
  • プログラムは約5秒で終了します。
  • プログラムは入力を取りません。
  • プログラムと出力の両方が2バイト以上である必要があります。
  • ハッシュ関数、PRNG、暗号化に関連するものは許可されていません。

次に、プログラムレイアウトし、2つの別々のモディファイドボードに出力します。各ボードは非正方形にすることができます。1行N列および2行N列のボードは、警官と強盗の両方に特別な課題をもたらす可能性があることに注意してください。ボード上のいくつかのセルを使用できないようにする場合(制限を追加するため)、不要なバイトをいくつか選択して、それらの穴を埋めます。

たとえば、水平/垂直方向の動きのみの2x2グリッドが必要な場合は、代わりにこれを行うことができます。

a b
c d
-----------
X a X
c X b
X d X

提出物では、使用した言語、ソースコードと出力の長さ、および2つのboggleボードを指定します。ことを注意短いコードおよび/または長い出力が強盗に許可されますが、バイト数の余地を与えるように選択することができるように(つまり、実際のソリューションよりも長いコードおよび/または短い出力を指定)、。

ボードに印刷できない文字が含まれている場合は、代わりにボードをバイト値として指定できます。

警官が1週間投稿された後、それまでクラックされていなければ、ポスターによって安全とマークすることができます。それが実際に安全であるとマークされるまで、警官はまだ強盗のために開いています。安全な警官はクラックできません、そして、ポスターは意図された解決策を明らかにするべきです。

強盗の課題は、ボード上のコードとその出力を見つけて提出物を解読することであるので、ボードをできるだけ難読化する必要があります。長いコードを小さなボードに詰め込みたい場合、元のModified Boggleチャレンジ回答が洞察を与える可能性があります。

警官のためのスコアリング

ボードのサイズが大きいか小さいかを判断するのが難しいため、安全な警官が提出するたびにスコア1としてカウントされます。スコアが最大のユーザーが勝ちます。さまざまな言語や創造的なアプローチで参加することが奨励されています。

警官の例とフォーマット

# Japt, code 9 bytes, output 20 bytes

Code board: 2 rows, 2 columns

    `l
    íÏ

As byte values:

    96  108
    237 207

Output board: 3 rows, 3 columns

    175
    120
    643

変更されたBoggle検証スクリプト

以下のすべてのスクリプトには、サンプル入力があります。

文字列(コード/出力)&ボグル用スクリプト。これは複数行の文字列をサポートしていません。入力フォーマットは

  • 単一行の文字列(コードまたは出力)、続いて
  • 生のボグルボード。

バイト値を切り替えた文字列のスクリプト。ターゲット文字列が印刷可能であるが、1つ以上の改行が含まれている場合は、これを使用します。入力フォーマットは

  • 文字列の行数、
  • 生の文字列(おそらく複数行)、
  • バイト値としてのボグルボード。

バイト値文字列とboggleのスクリプト。ターゲット文字列に1つ以上の印刷できない文字が含まれている場合に使用します。入力フォーマットは

  • バイト値としての1行の文字列(コードまたは出力)、その後に
  • バイト値としてのボグルボード。

念のため、出力バイトと入力バイトの両方を再利用できますが、続けて2回使用することはできません。
maxb '10 / 10/05

@maxbそのとおりです。ただし、コードではなく入力です(コードが入力を受け取ることはできません)。
バブラー10/05/18

私の間違い、私はコードを意味しました。出力長に制限はありますか?
maxb

@maxb制限はありませんが、プログラムは5秒で終了することに注意してください。
バブラー、

だけを使用して[]+.、brainfuckの重要な出力を考え出しましたが、それは不可能かもしれません。誰か気にかけてみませんか?
Jo King

回答:


3

JavaScriptを、1443は出力バイトコード、3バイト、ひび割れ @ShieruAsakotoによって瞬間に

コードボード、3行x 4列

!![+
+[]]
+]()

出力ボード、1行x 2列

aN

出力が何であるかは明らかです。解読するのが楽しいコードになります。それが完全なプログラムであることを意図していたことを言及するのを忘れていました(そして、それがそうではなかったことを少し暗示しました;以下の段落を参照してください)。実際の課題については、他の回答を参照してください。

これはNode.jsではないと思いますが、この分野での私の知識はゼロです。EdgeとChromeの両方のコンソールで実行できると言えます。


1
JSF ** k!lmao、そして出力はNaN
間違いない

@ShieruAsakoto有効な亀裂がありました。これを元の状態に戻します。回答の削除を取り消すことができます。明確にして再送信します。
Khuldraeseth na'Barya 2018年


3

JavaScript(Node.js)、コード53バイト、出力41バイト、Arnauldによりクラック

コードボード:3行x 6列:

cog(n)
lsn1()
e.+<<;

出力ボード:4行x 6列:

481534
270906
602148
53829n

ヒント:コードはV8 JSエンジン、バージョン6.7以降でのみ機能します

私はconsole.log(1n+1n+1n<<(1n+1n+1n+1n<<1n+1n+1n+1n+1n));セミコロン(理由は聞かないでください)を使用していて、出力はyes 3 * 2**128で、末尾にnBigIntリテラルとして番号がマークされています。


2
これがで始まらない場合console.log、私はとても感動します
Quintec

2
1つの数字だけを41桁として印刷することはできません。文字列にキャストする方法があるはずですconsoleが、... 開始時、割り当てなし、文字列リテラルなし、角括弧なし(したがって、配列リテラルもインデックス付けも)以外は使用できません。Nodeグローバルとconsoleのプロパティもチェックしましたが、何も適合しません。
バブラー、


2

JavaScript(Node.js)、コード88バイト、出力2バイト、27バイトでArnauldによってクラック

コードボード:7行x 9列:

e.i--)=%5
lc;,2s*17
fosn8407%
gnr785138
s(;527067
=);s%1419
4n,i=1832

出力ボード:1行x 2列:

0n

出力は明白ですが、コードはそうではありません。;)

私の最初の答えはM 127の LL検定でした。

for(s=4n,i=125;i;s%=170141183460469231731687303715884105727n,i--)s=s*s-2n;console.log(s)

アーナウルドの答えはセミコロンを利用して短い亀裂を埋めましたが、そのs%=s部分をまったく期待していませんでした(または理解していませんでした)。

s=4n;s%=s;7n;console.log(s)

ところで、私の3つの投稿は、ハッシュ関数、PRNG、暗号化とはまったく関係ありません。私はこれらの3つが数の操作についてだけであることを誓います。

コードボードに未使用のバイトがあります



1

MathGolf、コード42バイト、出力22バイト

コードボード:3行x 7列

 r5 qÄ 
~←▲↔▼→~
 Äq 5r 

出力ボード:3行x 6列:

421
402
135

これは少し長くなりますが、少しヒントを与えます。コードボードは蝶ネクタイに似ているはずであり、それを複数回「結ぶ」必要があるかもしれません。


1

JavaScriptを、1443は出力バイトコード、3バイト、ひび割れ @Bubblerで

完全なプログラム。

コードボード、3行x 4列

!![+
+[]]
+]()

出力ボード、1行x 2列

aN

出力が何であるかは明らかです。解読するのが楽しいコードになります。

これはNode.jsではないと思いますが、この分野での私の知識はゼロです。私が言えることは、それはEdgeとChromeの両方で実行されるということです。「完全なプログラム」<script></script>は、HTMLファイルの間に配置されたときに実行されることを意味します。



これは他のJS投稿と同じではありませんか?
シャギー

@Shaggy最初のものはプログラム完全な言及が欠落しており、代わりにREPLとしてクラックされました。
Arnauld、2018年

1

Python 3、コード56バイト、出力69バイト、SAFE

コードボード:4行x 10列:

  print(1,
b; f,)*l(1
 =lamb+a,)
ese d:(-1)

出力ボード:7行x 7列:

1466900
3427430
1304212
9653895
0511633
5680228
4437679

私の最初の挑戦よりもはるかに難しいものです;)

予想されるコードと出力:

コード:

l=lambda a,b:(a+b)*l(a-1,a*b)if a else b;print(l(11,11))

出力:

421827435070654423113161304555505960246647934329322186026783332352000

ラムダxDを形成できない方法が大好き
Quintec

手紙を再利用することはできますが、2回続けて直接行うことはできません。(私はこれの形式は下にあると思いますが、それは非常に微調整可能であり、その出力は何でもかまいません... 69バイトの出力を持つ56バイトのプログラムを見つけましたが、それはBoggleボードにはありません。)
Lynn

OK、出力を長くすることで、状況が変わることに気づきました。しかし、私はまだ(私は出力にはいくつかの方法があります賭けて「トリック」への道が表示されません10^lots。けれども、)
リン・

1
私はそれは次のように見えるはずですl=lambda a,b:+l(a-1,a*b)if a else b;print(l(11,1))...しかし、私はそれを見つけることができません。
tsh 2018年

0

MathGolf、コード7バイト、出力12バイト

あなたがMathGolfに入りたいなら、最初の簡単な挑戦です!

コードボード:2行x 4列

╒Æ■r
îm4~

出力ボード:2行x 3列

140
412

0

ゼリー、17バイトコード、19バイト出力

一般的な方法を選択するのは難しいことではありません。

コードボード

»V
”;
“;

出力ボード

Krgwn
Ubots
RAbbt

0

J(REPL)、コード9バイト、出力10000バイト

コードボード:3行、3列

epi
j.r
oI5

出力ボード:3行、2列、バイト値

10  10
48  49
32  255

本質的に、\n\n/ 01/ <space><don't use>

意図されたソリューションは20008バイトの出力を提供します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.