タグ付けされた質問 「hexagonal-grid」

六角形のグリッド上のデータを含む課題。このタグは、三角形グリッド、つまり六角形グリッドの双対にも使用します(つまり、六角形グリッドの頂点が三角形グリッドの面を形成し、逆も同様です)。

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
4x4 Hexの完璧なゲームをプレイする
バックグラウンド 六角はK×K六角形のタイルの菱形でプレイされる2プレーヤーの抽象戦略ゲームです。菱形の反対側の2つの側面は白く色付けされ、他の2つは黒く、2人のプレーヤー(黒と白)は交互に色のトークンを空いているタイルに配置します。最初に自分の色の反対側の間にパスを構築することに成功したプレーヤーが勝者です。ゲームは引き分けで終了することはできず、最初のプレイヤーはボードのサイズに関係なく勝利戦略を持っていることが知られています(詳細はWikipediaのページを参照してください)。 タスク この課題では、ボードサイズをに固定し、ボードをK = 4次のグリッドとして表します。太い線は隣接するタイルを示します。 あなたの仕事は、最初のプレーヤーのための勝利戦略を作成することです。あなたは黒か白のどちらかを選ぶことができます。これは、相手のプレーヤーがどのような合法的な動きをしても、あなたのプレーは勝利をもたらさなければならないことを意味します。入力はゲームの位置(ボード上のトークンの配置)であり、出力は以下に指定された形式での合法的な動きです。勝者戦略を自分で見つけたい場合は、このネタバレを読まないでください。 白が最初であると仮定して、1つの可能な勝利戦略の概要。 最初に5を選択します。その後、5から一番下の行へのパスがある場合、または黒が任意の時点で0または1を選択している場合、空いている0または1のいずれかを選択して応答します。黒が9または13を選択する場合、10を選択してから、14または15のいずれかが空くようにします。黒が9、13、または14を選択しない場合、9を選択し、次に13または14のいずれかが空いていることを選択します。黒が14を選択した場合は、15を選択して応答します。次に、空の場合は10を選択します。黒が10を選択した場合は11で応答します。黒が6を選択した場合は7で応答し、次に空いている2または3のいずれかを応答します。黒で6が選択されていない場合は選択して、5から最下行までのパスを作成します。 入出力 入力は16文字の文字列でWBE、白、黒、空を表します。上に列挙したように、それらはボードのタイルを表しています。以下から入力方法(出力方法も決定します)を選択できます。 STDINからの入力、STDOUTへの出力。 1つのコマンドライン引数として入力し、STDOUTに出力します。 16文字の1文字のコマンドライン引数として入力し、STDOUTに出力します。 名前付き関数の引数として入力し、戻り値として出力します。 次のトークンが移動する番なので、出力は次のトークンを配置するタイルを表します。次の出力形式から選択できます。 ゼロベースのインデックス(上の画像で使用されているもの)。 1から始まるインデックス。 プレーヤー用に選択した、またはユーザーが選択した文字列にE置き換えられた入力文字列。WB ルール あなたの戦略は決定論的でなければなりません。戦略を使用して空のボードから到達できないゲームの位置、またはいずれかのプレイヤーがすでに勝っている位置を正しく処理する必要はなく、クラッシュする可能性があります。逆に、あなたの戦略を使用して到達可能なボードでは、合法的な動きを返さなければなりません。 これはコードゴルフなので、最小バイト数が優先されます。標準の抜け穴は許可されていません。 テスト中 手作業で行うのは非常に面倒なので、エントリを検証するためのPython 3コントローラを作成しました。あなたはここでそれを見つけることができます。最初の3つの入力形式とPython 3関数(他の言語の関数はプログラムにラップする必要があります)、3つの出力形式すべて、および両方のプレーヤーをサポートしています。戦略が勝っていない場合は、見つかった敗北ゲームを出力するので、プログラムを微調整できます。

25
相対論的速度を計算する
特殊相対、反対方向に移動している別の物体に対して移動する物体の速度は、以下の式によって与えられます。 s=v+u1+vu/c2.s=v+u1+vu/c2.\begin{align}s = \frac{v+u}{1+vu/c^2}.\end{align} s = ( v + u ) / ( 1 + v * u / c ^ 2) この式では、vvvとuuuはオブジェクトの速度の大きさであり、cccは光速です(これは約3.0×108m/s3.0×108m/s3.0 \times 10^8 \,\mathrm m/\mathrm s、この課題に十分近い近似値)。 たとえば、あるオブジェクトがで動いていてv = 50,000 m/s、別のオブジェクトがで動いてu = 60,000 m/sいる場合、他のオブジェクトに対する各オブジェクトの速度はおよそになりますs = 110,000 m/s。これは、ガリレオ相対論(速度が単純に追加される)の下で予想されることです。ただし、v = 50,000,000 m/sおよびのu = 60,000,000 m/s場合、相対速度はおよそとなり、ガリレイ相対性理論によって予測された106,451,613 m/sものとは大幅に異なり110,000,000 m/sます。 チャレンジ 二つの整数所与vとuするように0 <= v,u …

2
1000の最も一般的な単語
この質問は、「物事の説明者」が楽しく読めるから書いてありました。 文字、数字、およびこのようなもののセットを読み取り/受け取り、すべての単語がこのセットの一部である場合に"#%|?戻る「コンピュータに物事を実行させるもの」を記述します。True / 1 すべての単語がそのセットの一部ではない場合、そのセットの一部ではなかった単語を返します。 このウェブサイトは、すべての場合において正しいと見なすことができます。ルールはそのサイトの仕様に従うように書かれています。 例: Truthy: 最初の水平線より上のテキスト全体が入力として貼り付けられている場合、コードは真の値を返す必要があります。 次の行は真の値を返します(入力はで区切られています###) This returns "Hello, World!" ### tHiS rEtUrNs TrUe... ### Thing Explainer is a book written by a man. The man writes books with simple words. ### This set of stuff "#!^{>7( must return true 偽り: 次の例では、入力と出力はで区切られてい***ます。異なるテストケースはで区切られ###ます。 This code doesn't return …
9 code-golf  string  parsing  code-golf  array-manipulation  random  permutations  code-golf  string  code-golf  parsing  code-golf  string  quine  code-golf  string  parsing  comment  code-golf  string  counting  natural-language  code-golf  string  decision-problem  code-golf  math  code-challenge  metagolf  test-battery  code-golf  string  code-golf  math  number  arithmetic  source-layout  code-golf  number  primes  decision-problem  code-golf  math  arithmetic  code-golf  date  code-golf  string  cryptography  code-golf  code-golf  chess  board-game  code-golf  geometry  grid  puzzle-solver  set-partitions  code-golf  number  natural-language  code-golf  ascii-art  code-golf  math  code-golf  string  ascii-art  kolmogorov-complexity  code-golf  string  natural-language  code-golf  game  board-game  tic-tac-toe  code-golf  ascii-art  hexagonal-grid  code-golf  string  comment  code-golf  internet  code-golf  sorting  code-golf  kolmogorov-complexity  unicode  code-golf  tips  code-golf  string  natural-language  code-golf  string  kolmogorov-complexity  source-layout  hello-world  code-golf  string  kolmogorov-complexity  counting  natural-language  code-golf  random  quine  code-golf  string  math  bitwise  code-golf  permutations  code-golf  string  code-golf  arithmetic 

2
三角グリッド:単純に接続されたポリダイヤモンド
三角グリッドキックを使用している間、三角グリッドにはポリオミノに相当するものがあることを指摘しておきます。それらはポリダイヤモンドと呼ばれ、それらのエッジに沿って正三角形を互いに接着することによって形成された形状です。この課題では、三角グリッドのどのサブセットがポリダイヤモンドであるか、およびそれらに穴があるかどうかを決定します。穴が開いたポリダイヤモンドを作るのに必要な三角形は9つだけなので、コードはできるだけ短くする必要があります。 グリッド 入力にはマーティンの三角グリッドレイアウトを使用します。 三角形の中心がほぼ長方形のグリッドを形成し、左上の三角形が「上を向いている」ことに注意してください。次に、このグリッドのサブセットを記述することができます。次に、含まれる三角形と含まれない三角形を示す長方形の「星図」を指定します。たとえば、次のマップ: ** ** ***** 穴を含む最小のポリダイヤモンドに対応します: 穴 上記の例のように穴(領域ではない領域によって全ての側で囲まれポリイアモンドの一部含まポリイアモンドあるが)トポロジー的に言えば、ない単に接続します。 チャレンジ 上記の「スターマップ」を入力として受け取り、三角グリッドの示されたサブセットが単純に接続されたpolyiamondである場合にのみ、真実を出力する関数またはプログラムを記述します。 その他の例 *** *** ******* ポリダイヤモンドに対応 単純に接続されています。 * * ** ** *** ポリダイヤモンドに対応 単純に接続されています。 ** ** *** ** **** 非ポリダイヤモンドに対応 それがポリダイヤモンドであったとしても、単純に接続されることはありません。 入力仕様 入力は、アスタリスク、スペース、および改行のみで構成されます。 入力の最初の文字は常にスペースまたはアスタリスクになります(グリッドの左上隅にある上向きの三角形に対応)。 最初と最後の行には常に少なくとも1つのアスタリスクがあります。 最初の行の後の行が空にならないという保証はありません。行内の2つの改行が正当な入力に表示される場合があります。 行の長さはすべて同じである必要はありません。 当選条件 これはcode-golfなので、バイト単位の最短の回答が優先されます。 テストケース 真実の地図: 1) * 2) * * 3) ** 4) …

3
アイゼンシュタインの素数を数える
前書き アイゼンシュタイン整数は、次の形式の複素数です。 a+bω a,b整数はどこにあり、 ω = e^(2πi/3) アイゼンシュタイン整数は、複素平面で三角格子を形成します。 2つの非単位の積(1、-1、ω、-ω、ω^ 2または-ω^ 2ではない)として記述できない場合、アイゼンシュタイン整数z=a+bωは素数であると言います プログラム 入力:自然数n。 出力:フォームであるアイゼンシュタインの素数の数a+bωのためには、a,bに等しいかまたはそれ以下(ゼロを含む)である自然数n テストケース 0→0 1→0 2→5 3→9 4→13 5→20 得点 これはcode-golfなので、最小バイト数が優先されます

3
PHPゴルフのヒント:ファイルの読み書きとCLI
私はゴルフは最近、およびなどのファイルからデータを読み取るために使用されている技術のいくつかの課題PHPコードの数に参加しているfopen()とfread()か、file_get_contents()本当に私のコードchar型の数に打撃を与えます。特に、コマンドライン入力を読み込むために提供されるメソッド。 私の質問は、ファイルの内容を読み書きする最速の方法(最小キーストローク)と、プロンプトから行を読み込む最速の方法(最小キーストローク)は何ですか? (注:これはコードゴルフなので、外部ライブラリは使用できません。)

3
14ペグのパズルを解く
前書き 一般的なパズルには、下の画像に示すように、ティー/ペグ用の15個の穴がある三角形のボードが含まれます。 一番上の穴を除いて、ボード内のすべてのペグから始めて、パズルのポイントは、チェッカーのようにペグを互いに飛び越えて、正確に1つのペグを残すことです。唯一有効な移動は、1つのペグを隣接するペグを越えて任意の方向に空の穴にジャンプすることです。ジャンプしたペグは、ボードから削除されます。有効な手が残っていない場合、プレイは終了します。 スペック あなたの仕事は、ペグパズルの完全なソリューションを見つけることができるプログラムを書くことです。考えられる解決策は複数あるので、プログラムは1つだけ印刷する必要があります。 プログラムは入力を受け取りません。外部ソースからのデータの読み取りは許可されていません。 この形式を使用して、残りの1ペグの結果が得られる13のムーブのリストを印刷します。 Peg 1 jumps Peg 3 to Hole 6. 穴/ペグには上から下、左から右に番号が付けられているため、上部のペグ/穴は1で、右下が15になるまで番号が付けられます。 プログラムは実行時にソリューションを見つける必要があります。プログラムで解決する以外の方法でソリューションを直接印刷すると、自動的に失格になります。 ボーナス:複数のユニークなソリューションを出力できる場合は、10ボーナスポイントを受け取ります(空白行で区切って印刷できます)。 ボーナス:数値15がソースコードのどこにも表示されない場合、5ボーナスポイントを受け取ります。 得点 これはコードゴルフなので、正しい答えを出力する(バイト数による)最短のソリューションが勝者となります。総バイト数からボーナスポイントが差し引かれます。プログラムの実行のサンプル出力とideone、可能であればプログラムの実行を示すリンクまたは同様のサイトへのリンクを提供してください。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.