タグ付けされた質問 「permutations」

順列は、オブジェクトのリストの特定の順序です。順列でタグ付けされた問題には、通常、テキストのアナグラムを含む順列の検索または生成が含まれます。

10
区別できないアイテムの順列
整数のリストを指定すると、整数の順列の数を出力し、区別できない順列を1回カウントします。ある場合はn整数であり、区別がつかない数字の各グループは、長さを持っているn_i、これはありますn! / (n_1! * n_2! * ...) ルール 入力は、1から12個の非負整数を持つ関数またはプログラムの引数としての何らかの形式のリストになります。 出力は、上記のように順列の数を印刷または返します。 標準的な抜け穴や組み込み関数(順列、組み合わせなどの生成)はありません。階乗が許可されます。 テストケース 入力: 1, 3000, 2, 2, 8 1, 1, 1 2, 4, 3, 2, 3, 4, 4, 4, 4, 4, 1, 1 出力: 60 1 83160

8
多次元ラベルの組版
スチームパンクな多次元の世界では、上司はコングロマリットの多次元ファイルキャビネットの各引き出しに印刷されたインデックスラベルを貼り付けたいと考えています。 ボスは、この目的のためだけに購入したフォントを使用して、ラベルシート全体を単一のフォームとしてタイプセットしたいので、ソート(金属記​​号の断片)を注文する必要があります。ソートは非常に高価であるため、注文は各数字記号の正確なカウントのためでなければなりません。 与えられた(とにかく)次元≥0の長さのセットに対して、すべてのデカルト座標をタイプセットするのに必要な桁の頻度表である順序を(とにかく)返します。キーボードの出現順に並べる必要があります(つまり、9の後の0)。また、並べ替えがまったく行われない場合(次元の長さが0であるため)、並べ替え0の順序は含まれません。何も印刷しません。 コードが0次元も処理できる(つまり何も印刷しない)場合、-3のボーナスがソートされます。 最終的な改行文字は許容されます。 標準的な抜け穴の禁止が適用されます。 前述のように、ソートは高価なので、これはcodecolfです。 親切な魂は、この課題を編集して自動スコアリングを含めることができるため、次のようなヘッダーを含めます。# LanguageName, 123 sorts テストケース 与えられた11、印刷: 1 4 2 1 3 1 4 1 5 1 6 1 7 1 8 1 9 1 0 1 必要なラベルがあるため1、2、3、4、5、6、7、8、9、10、と11。 与えられた2 3、印刷: 1 5 2 5 3 2 必要なラベルがあるため1 1、 1 2、 1 3、 2 1、 …

3
ハンケラブル行列の数を数える
バックグラウンド バイナリハンケル行列は、0sと1s のみを含む一定のスキュー対角(正の傾斜対角)を持つ行列です。たとえば、5x5バイナリハンケル行列は次のようになります a b c d e b c d e f c d e f g d e f g h e f g h i はまたa, b, c, d, e, f, g, h, iはのいずれ0か1です。 レッツは、行列の定義MとしてHankelableを行と列の順序の順列がある場合はMだからMは、ハンケル行列です。これは、1つの順列を行の順序に適用し、場合によっては異なる順列を列に適用できることを意味します。 チャレンジ 課題は、すべての可能な限り最大の値に対して、行列によるハンケラブルの 数を数えることです。nnn 出力 1以上の各整数nに対して、またはであるエントリを持つ行列によるハンケラブル の数を出力します。nn01 以下のためにn = 1,2,3,4,5答えなければなりません2,12,230,12076,1446672。(これらを生成するコードのorlpに感謝します。) 制限時間 私のマシンでコードを実行し、1分後に停止します。nの最大値まで正解を出力するコードが勝ちます。制限時間は、回答n = …

7
あなたのためにアナグラムをゴルフしてください!
タスク この課題では、ランダムに選択されたアナグラムの1つを均一な分布で出力するコードを作成しますが、それ自体は出力しないでください。 精緻化 入力がない場合、プログラムはソースコードのアナグラムのいずれかを出力する必要があります。あなたのプログラムは、それ自身のソースをそのまま出力するべきではありません。つまり、それは決して馬であってはなりません。 入力 プログラムは何も入力してはいけません。ただし、必要に応じて言語で入力が必要な場合は、小文字が入力されると想定できますa。ただし、入力を使用しないでください。 出力 プログラムは、変数に書き込む以外の方法で出力できます。ファイル、コンソール、画面などへの書き込みが許可されています。機能returnも許可されています。 追加の規則 プログラムのソースコードには、少なくとも3 文字(3バイトではない)が必要です。 プログラムのソースコードには、少なくとも3つのアナグラムが含まれている必要があります(それ自体を除く)。たとえば、(および)以外のアナグラムが2つしかaabないため、有効な送信としてカウントされません。aabaabbaaaba プログラムはエラーを生成してはなりません。 あなたのプログラムはアナグラムを正確に出力するはずです。 標準の抜け穴と標準のクインルールが適用されます。 例 プログラムのソースコードがであるとしますabc。次のいずれかをランダムに出力する必要があります(均一な分布): acb bca bac cba cab そして、それは決して出力すべきではありませんabc。 受賞基準 これはcode-golfなので、バイト単位の最短コードが勝ちです!同点の場合、以前に投稿されたソリューションが勝ちです!

5
順列の構成–グループ製品
互いに素なサイクル形式で2つの順列が与えられた場合、それらの製品/組成を互いに素なサイクル形式で出力します。 構成を見つけるには、分離したサイクルを2行表記の順列に変換します。サイクルのばらばらの部分の各番号は、同じ部分でそれに続く番号にマッピングされます。包み込みます。ですから1 -> 5、5 -> 1、2 -> 4、4 -> 2。番号が見つからない場合は3 -> 3、それ自体にマップされます。最初のばらばらのサイクルも書くことができます(1 5)(2 4)(3)。これらのマッピングは、次のように2行に変換されます(PとQの順序が逆になっていることに注意してください)。 2つの順列の積は、最初の行が最初の(最も右の)順列の2番目の行と同じになるように、2番目(左端)の順列の列を再配置することによって得られます。次に、積を、変更された2番目の順列の2番目の行に対する最初の順列の最初の行として書き込むことができます。 ウィキペディアの記事 ルール: 入力はリストのリストまたは同様の形式で与えられます のように、すでに2行の形式(インデックスから値へのマッピング)をとることはできません。(1 5)(2 4)[5, 4, 3, 2, 1] すべての数値が各グループで発生する必要はないので(1 5)·(1 2)、発生する可能性があり、結果としてになり(2 5 1)ます。 出力は入力として使用できるはずです。 空のサイクルでの入力をサポートする必要はありません(1 5)·()。代わりに、(1 5)·(1)または同等のものとして与えられます。 サイクルは循環するため、結果が正しければ、順序は関係ありません。 ゼロまたは1から開始できます。結果は同じなので、問題ではありません。 数値はより大きい場合があり9ます。 同じ番号を出力に複数回含めることはできません。だから、[[1],[1]]許可されていません。 この操作は可換ではないことに注意してください!私はPの前にQを置きました。任意の順序を選択できますが、順序が異なる場合は指定してください。 最短コードの勝利 組み込みは許可されますが、組み込みを使用する場合は、それを使用せずにソリューションを表示します。 例: 同等の出力の可能性がすべて示されているわけではありません Input Output [[1, 5], [2, 4]], [[1, …

5
要因を共有する最小の未使用数
これは、工場の質問のかなりの実行です。シーケンスを定義し、インデックスを指定してエントリを出力するコードをゴルフします。 シーケンスの最初の項目は2です。 シーケンスのn番目の項目は、nと1以外の最小の正の整数で、リストにまだ現れていないn(1以外)と少なくとも1つの因子を共有します。 テストケース シーケンスの最初の25項目は次のとおりです。 1 2 2 4 3 6 4 8 5 10 6 3 7 14 8 12 9 15 10 5 11 22 12 9 13 26 14 7 15 18 16 20 17 34 18 16 19 38 20 24 21 27 22 11 23 …

7
あらゆる長さのサイクルを持つ関数を見つける
機能は持っていると言われている長さの周期をN個存在する場合、Xをそのドメイン、その結果、F N(X)= XとF M(X)≠X用0 <M <N 、上付き文字nは意味N - fのアプリケーションを折りたたみます。長さ1のサイクルは固定小数点f(x)= xであることに注意してください。 あなたの仕事は、整数から自身への全単射関数を実装することです。これは、すべての正の長さnの正確に1サイクルを持ちます。全単射関数は1対1の対応です。つまり、すべての整数が1回だけマッピングされます。長さの正確に一つの周期を有するN正確に存在することを意味し、Nの異なる番号がxはれるF N(X)= XとF M(X)≠X用0 <M <N 。 このような関数がx = 0の周りにどのように見えるかの例を次に示します。 x ... -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7 ... f(x) ... 2 4 6 -3 -1 1 -4 0 -2 5 …

3
可能なテトリスシーケンス
公式のTetrisアルゴリズムで一連のTetrisピースを生成できるかどうかを把握するためのコードを記述します。少ないバイトが勝ちます。 公式のテトリスゲームは、特別な方法で落下ピースのシーケンスを生成します。7つのピースIJLOSTZはランダムな順序でドロップされ、次に別のランダムな順列がドロップされます。 JTLOISZ STJOLIZ LISJOTZ ... この例には、連続したピースの実行が含まれています SZSTJOLIZLIS 7つのグループの境界を越えてカットすることに注意してください。 SZOTLZSOJSIT テトリスシーケンスの部分文字列にすることはできないため、公式のテトリスゲームでは決して見ることができません。 入力:空ではない文字列IJLOSTZ。 出力: A TruthyまたはFalsey 7文字の順列の連結の入力は公式テトリス乱数生成器によって生成することができるシーケンスの部分文字列であるかどうかの値、すなわち。 テストケース: 正しい: T JJ (unique breakdown: J J) JTJ (possible breakdown: JT J) LTOZIJS SZSTJOLIZLIS (possible breakdown: SZ STJOLIZ LIS) JTLOISZSTJOLIZLISJOTZ (possible breakdown: JTLOISZ STJOLIZ LISJOTZ) LIJZTSLIJZTS (unique breakdown: LIJZTS LIJZTS) 偽: SZOTLZSOJSIT ZZZ …

1
直交対角グレコラテン正方形の構築
Nx個のN一意の要素のグリッドを考えます。各要素には、文字(AからNth文字まで)と数字(1からN包括的)があります。したがって、各数字/文字のペアはグリッドに1回だけ存在します。 あなたの仕事は、次のようにグリッドを配置することです: 各行、列、および対角線(折り返しを含む)には、各文字と数字が1回だけ含まれています。 ラッピングとは、つまり * * * # * * * # * * * # * * * # * * * * * * * * # は、対角線であり、エッジに当たるすべての同様の対角線です。 5x5グリッドの例は次のとおりです。 A1 B2 C3 D4 E5 C4 D5 E1 A2 B3 E2 A3 B4 C5 D1 B5 C1 D2 E3 …

2
Xが3より大きく、XとYの間に少なくとも2つの差がある
私はいくつかのC ++をゴルフしようとしています。この条件を短くすることは可能ですか? X > 3 & X - Y > 1 (もちろん、空白の削除は別として。) だから、X少なくともです4がX >= Y + 2。 XおよびYは、[0,5]間隔の整数です。 ビット単位の数式を見つけようとしましたが、失敗しました。
11 code-golf  number  tips  c++  code-golf  popularity-contest  obfuscation  code-golf  c  code-golf  board-game  hexagonal-grid  code-golf  game  grid  code-golf  number  permutations  popularity-contest  math  graphical-output  number-theory  king-of-the-hill  code-challenge  compression  code-challenge  fastest-code  code-golf  math  ascii-art  animation  code-golf  popularity-contest  generation  counting  fastest-code  fastest-code  popularity-contest  image-processing  king-of-the-hill  code-golf  conversion  binary-tree  code-golf  math  number  rational-numbers  division  code-golf  restricted-source  hashing  atomic-code-golf  logic-gates  code-golf  function  code-challenge  puzzle-solver  ai-player  test-battery  popularity-contest  music  compression  code-golf  number  stack  atomic-code-golf  logic-gates  ascii-art  popularity-contest  code-golf  date  grid  code-challenge  game  code-golf  parsing  code-golf  math  geometry  sequence  popularity-contest  code-trolling  code-golf  string  restricted-source  code-golf  quine  king-of-the-hill  code-golf  math  code-golf  simulation  code-golf  ascii-art  code-challenge  sorting  optimization 

5
トポロジーソートの総数
特定のDAG(有向非巡回グラフ)の場合、そのトポロジーの並べ替えはすべての頂点の順列であり、DAGのすべてのエッジ(u、v)について、uは順列のvの前に表示されます。 あなたのタスクは、特定のDAGのトポロジカルソートの総数を計算することです。 ルール エンコーディングで有用な計算を行わない限り、隣接行列、隣接リスト、エッジリストなど、任意の形式を使用してグラフを表すことができます。有用な場合は、入力に頂点数や頂点リストなどを含めることもできます。 入力のグラフは常にDAGであると想定できます(サイクルはありません)。 あなたのプログラムは理論的にはどんな入力に対しても機能するはずです。ただし、言語の基本的な整数型をオーバーフローすると失敗する可能性があります。 頂点の名前は、任意のタイプの任意の連続した値にすることができます。例:0または1から始まる数値(もちろん、この数値にコードを格納していない場合のみ)。 これはコードゴルフです。最短のコードが勝ちます。 例 これは、異なる形式の同じ入力です。プログラムはそれらすべてを受け入れる必要はありません。頂点は常に0から始まる整数です。 Adjacency list: [ [1 2 3 5] [2 4] [] [2] [] [3] ] Adjacency matrix: [ [0 1 1 1 0 1] [0 0 1 0 1 0] [0 0 0 0 0 0] [0 0 1 0 0 …

5
それはクインだけではなく、アナグラムクインです!
タスク この課題の課題は、入力を取らないプログラムを作成し、できるだけ多くのアナグラムを使ってアナグラムを作成することです。 スコアは、プログラムのソースコードの有効なクインであるアナグラムの数を可能なアナグラムの総数で割った値、つまり有効なクインであるアナグラムのパーセンテージになります。 標準抜け穴と標準クインの規則が適用されます。 注:プログラムには少なくとも3 文字(3バイトではない)が必要です。 入力 それ自体のクインであるプログラムの各アナグラム(または順列)(つまり、スコアに含めているアナグラム)は、何も入力してはなりません。言語で入力が必要な場合は、小文字のAで構成される文字列がプログラムに与えられると想定できます。ただし、入力をいかなる方法でも使用してはなりません。 出力 nプログラムのソースコードの異なるアナグラムの数は有効なクインでなければなりません。ここnで、スコアに含めているアナグラムの数を表します。 これらのquine-anagaramは、変数に出力を書き込む以外の方法で出力できます。ファイル、コンソール、画面などへの書き込みが許可されます。関数returnも許可されます。 採点例 プログラムのソースコードがであるとしますcode。そして、 code出力code。 coed出力coed。 cdoe出力cdoe。 cdeo出力cdeo。 cedo出力cedo。 ceod出力ceod。 ocde出力ocde。 oced出力oced。 odce出力odce。 odec出力しないodecか、エラーを生成します。 oedc出力しないoedcか、エラーを生成します。 oecd出力しないoecdか、エラーを生成します。 doce出力しないdoceか、エラーを生成します。 doec出力しないdoecか、エラーを生成します。 dcoe出力しないdcoeか、エラーを生成します。 dceo出力しないdecoか、エラーを生成します。 deco出力しないdecoか、エラーを生成します。 deoc出力しないdeocか、エラーを生成します。 eodc出力しないeodcか、エラーを生成します。 eocd出力しないeocdか、エラーを生成します。 edoc出力しないedocか、エラーを生成します。 edco出力しないedcoか、エラーを生成します。 ecdo出力しないecdoか、エラーを生成します。 ecod出力しないecodか、エラーを生成します。 このソリューションのスコアは 受賞基準 最も高いスコアのソリューションが勝ちます!引き分けの場合は、char-count(byte-countではない)が高い方が勝ちます(つまり、コードボウリング)。それでも同点が続く場合は、以前に投稿されたソリューションが優先されます。

7
ヤコビ行列を作成する
未知数のベクトルを取り、いくつかの一般的な微分可能関数を適用します。ヤコビアンは、次いで行列によって与えられるように。 たとえば、と仮定m=3しn=2ます。次に(0ベースのインデックスを使用) のヤコビアンfは この課題の目標は、このヤコビ行列を出力することです。 入力 プログラム/関数は、2つの正の整数mとを入力として受け取る必要nがfありuます。これらはそれぞれとのコンポーネントの数を表します。入力は、任意のソース(stdio、関数パラメーターなど)から取得できます。あなたはこれらが受け取られる順序を指示することができ、これはあなたの答えへのどんな入力でも一貫していなければなりません(あなたの答えで指定してください)。 出力 ヤコビ行列を表すもの。この表現は、ヤコビ行列のすべての要素を明示的に記述する必要がありますが、各項の正確な形式は、何が区別され、何が明確であり、すべてのエントリが論理的な順序で出力される限り、実装で定義されます。マトリックスを表すための受け入れ可能なフォームの例: 外部リストの各エントリがヤコビアンの行に対応し、内部リストの各エントリがヤコビアンの列に対応するリストのリスト。 各行がヤコビアンの行であり、行の各区切り文字で区切られたエントリがヤコビアンの列に対応する文字列またはテキスト出力。 マトリックスのグラフィック/ビジュアル表現。例:MatrixFormコマンドを使用したときにMathematicaによって表示されるもの 他のいくつかの密行列オブジェクト。すべてのエントリは既にメモリに格納されており、クエリできます(つまり、ジェネレータオブジェクトを使用できません)。例としては、Mathematicaが内部的にMatrixオブジェクトをどのように表すかが挙げられます エントリ形式の例: 形式の文字列。d f_i/d u_jここでi、およびjは整数です。例:d f_1/d u_2。dとf_1またx_2はの間のこれらのスペースはオプションであることに注意してください。また、アンダースコアもオプションです。 d f_i(u_1,...,u_n)/d u_jまたはの形式の文字列d f_i(u)/d u_j。つまり、関数コンポーネントの入力パラメーターf_iはオプションであり、明示的に指定するか、コンパクトな形式で残すことができます。 フォーマットされたグラフィック出力。例:式を評価したときにMathematicaが出力するものD[f_1[u_,u_2,...,u_n],u_1] 開始インデックスとその目的uを選択できますf(回答で指定してください)。出力は、必要なシンク(stdio、戻り値、出力パラメーターなど)への出力です。 テストケース 次のテストケースでは、この規則を使用していm,nます。インデックスは0ベースで表示されます。 1,1 [[d f0/d u0]] 2,1 [[d f0/d u0], [d f1/d u0]] 2 2 [[d f0/d u0, d f0/d u1], [d f1/d u0, d …

2
ぼんやりした言語学者
バックグラウンド 言語学者の友達が、さまざまな言語でいくつかの簡単な会話の断片を録音して分析しました。彼らはまったく不在なので、各スニペットの言語を忘れてしまいました。文の構造を分析し、不可能な場合を除外するプログラムを作成して、彼らを助けなければなりません。 入力 入力は、主語、動詞、オブジェクトSVOを表す文字を含む空でない文字列です。言語学者が分析した会話スニペットを表します。 出力 あなたの仕事は、文字列を文に分割し、各文の.後にピリオドを入力することです。文には、動詞、または動詞と主語、または動詞、主語とオブジェクトのいずれかが含まれます。ただし、元の言語で使用されている単語の順序はわかりません。英語ではsubject-verb-objectを使用しますが、ラテン語などの他の言語ではsubject-object-verbを使用します。実際、6つの順列はすべて自然言語で存在するため、それぞれをチェックする必要があります。 出力には、改行で区切られた文字列で、該当する各単語の順序、コロン:、およびその順序に従って文に分割された入力文字列が含まれます。文字列がいくつかの語順で解析できない場合、対応する行は省略されます。行の順序は重要ではなく、少なくとも1つの語順を解析できることが保証されています。 例 入力を検討する VSVOSV VOS注文、スニップは、以下のように解析することができVS.VOS.V.、且つにSVO順番、それは次のように解析できますV.SVO.SV.。注文OSVも機能し、完全な出力は VOS:VS.VOS.V. SVO:V.SVO.SV. OSV:V.SV.OSV. ルールとスコアリング 完全なプログラムまたは関数を作成できます。最も低いバイト数が優先され、標準の抜け穴は許可されません。正規表現とすべての組み込みが許可されています。 テストケース Input: V Output: VSO:V. VOS:V. SVO:V. OVS:V. SOV:V. OSV:V. Input: SVV Output: SVO:SV.V. SOV:SV.V. OSV:SV.V. Input: VSVOV Output: SVO:V.SVO.V. Input: VSOVS Output: VSO:VSO.VS. OVS:VS.OVS. Input: SVOSV Output: SVO:SVO.SV. OSV:SV.OSV. Input: VSVOSV Output: VOS:VS.VOS.V. …

4
再配置の不等式
バックグラウンド 転位不平等は数字を並べ替えるに基づいて不平等です。同じ長さの数値の2つのリストがある場合、x 0、x 1、x 2 ... x n-1および同じ長さのy 0、y 1、y 2 ... y n-1で、ここでIリストの数値を並べ替えることができます。合計を最大化するには、x 0 y 0 + x 1 y 1 + x 2 y 2 + ... + x n-1 y n-1で2つのリストを並べ替えます減少しない順序。 読むWikipediaのこちらの記事を。 仕事 STDINから入力を受け取るプログラム、または数値(同じ長さ)の2つの配列(または関連するコンテナー)を受け入れる関数を作成します。 2つの配列(aとb)を受け入れる関数を作成すると仮定すると、最大化するために2番目の配列(b)の数値を再配置する方法の数がわかります。 a[0]*b[0]+a[1]*b[1]+a[2]*b[2]+...+a[n-1]*b[n-1] この場合には、配列b [1であれば0、2 1、2 2、3 3、3 4、(明確にするための指標) [1 0、2 1、2 2、3 3、3 …

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