プログラミングパズルとコードゴルフ

プログラミング愛好家やコードゴルファーのためのQ&A

15
ディスク上のポイントをランダム化する
私はどこかでサークルについて読んで、今やディスクについて学び(実際にはかなり一般的な概念です)、コードゴルフについて考えました。 あなたの仕事は、半径1のディスク上のポイント/いくつかのポイントをランダム化することです。 ルール: すべてのポイントが生成される確率は等しくなければなりません 浮動小数点座標を使用する必要があります。最小要件は小数点以下2桁です(例:ポイント(0.12, -0.45)または(0.00, -1.00)有効) プログラムが実際に境界円とその中に生成されたポイントを表示する場合、-20バイトを取得します。座標は依然として有効であるが表示されていない必要があり、生成される画像は少なくとも201 x 201ピクセルのサイズである必要があります プログラムがstdinの入力として生成されるポイントの数を取る場合、-5バイトを取得します 境界円とポイントをプロットしないことにした場合、プログラムはフォーマット(x, y)または(x,y)stdoutで生成されたポイントを出力する必要があります 生成されたポイントの数を入力として取得するが、プロットしない場合-プログラムは、上記の形式ですべてのランダム化されたポイントを出力しなければなりません。 バイト単位の最短提出が勝ちです!

9
Scopaハンドのスコアは何ですか?
私はカードゲームチャレンジが好きなので、イタリアのカードゲームScopa向けにこれを作りました。私の家族は太古からこのゲームをプレイしています。それはゴルフにとって楽しいはずの非常に興味深い得点システムを持っています。楽しみを始めるためにRに回答を投稿し、人々が改善することを確信しています。 課題:ラウンド中にプレイヤーが入力としてキャプチャしたカードを考慮して、Scopaのラウンドで獲得したポイント数を計算します。 Scopaデッキには40枚のカードがあります。国際デッキを使用している場合は、8、9、10を削除し、各スーツにA、2、3、4、5、6、7、Q、J、Kを残します。1 2人のプレーヤーまたはパートナーシップがあり、各ラウンドの後、すべてのカードは2人のプレーヤーのいずれかによってキャプチャされます。スコアは次のようにカウントされます(詳細はこちら): 最も多くのカードを持つプレイヤーが1ポイントを獲得します。 最も多くのダイアモンド(またはイタリアのデッキを使用している場合はコイン)を持つプレイヤーは1ポイントを獲得します。 セッテベロまたは美しいセブンとして知られる7枚のダイヤモンド(またはコイン)を持つプレーヤーは、1ポイントを獲得します。 最高のプリミエラを持つプレイヤーは1ポイントを獲得します。プレイヤーのプリミエラスコアは、各スーツでプレイヤーが獲得した最高価値のカードのスコアの合計です(下の表を参照)。すべてのスーツに少なくとも1枚のカードがない場合、対戦相手のスコアを超えてもスコアはデフォルトで負けます。どちらのプレイヤーもすべてのスーツに少なくとも1枚のカードを持っているという非常にまれなケースでは、より高いプリミエラの合計を持つプレイヤーがポイントを獲得します。2 初生スコアの表 | Rank | Value | | ----- | ----- | | 7 | 21 | | 6 | 18 | | A | 16 | | 5 | 15 | | 4 | 14 | | 3 | 13 | | …

12
天体官僚制KoTH
中国帝国では、社会のランクは出生や富ではなく、帝国試験で優れている人の能力によって決定されました。神の天の支配者である玉皇帝は、彼のすべての主題を調べて彼らの価値を決定し、次に中国を統治するために神の使命を誰に与えるかを求めました。 官僚制のルール: 神官官僚制は、0から始まる負ではない整数値のランクで構成されます。官僚制の各メンバー(ボット)は1つのランクに属します。各ランクは任意の数のメンバーを保持できますが、上記のすべてのランクが空でない限り空にすることはできません ゲームの開始時に、すべてのメンバーのランクは0です 毎ターン、官僚の各メンバーは試験に答えなければなりません。試験は、リストのブール値を正しく推測することで構成されています。リストの長さは、メンバーの上のランクの数です。 試験問題は、上記のランクのランダムなメンバーによって準備されます。最高ランクのメンバーは質問を直接受け取りますJadeEmperor(以下を参照) 試験で少なくとも50%を獲得したメンバーは、プロモーションの対象となります。試験の得点が50%未満の会員は降格の資格があります。 降格の資格があるメンバーのランクは、下のランクに昇格する資格のあるメンバーがいる場合にのみ1減少します。 昇格の資格があるすべてのメンバーは、ランクが空にならない限り、ランクが1ずつ上がります。 すべての資格のあるメンバーを降格または昇格できるわけではない場合、優先順位は(降格の)最も低いメンバーになります。最高の(プロモーション用)スコア。ネクタイはランダムに壊れます。 メンバーのランクは、各ターンで最大1つまでしか変更できません。 ゲームのルール: 各ボットには、ゲームの開始時にIDがランダムに割り当てられますが、そのIDはコース中に変更されることはありません。のJadeEmperorIDは-1で、他のすべては0から始まる連続した非負のIDです。 すべてのボットが同時に競合する ゲームは100ターン実行され、ボットのスコアはその期間中に所有した平均ランクです。 合計スコアは、1000ゲームを実行し、結果を平均することにより取得されます。 各ボットは、次の4つの機能を実装するPython 3クラスです。 ask(self,n,ID)、list長さnのブール値を返すことにより試験を行います。IDは、そのリストを推測する必要があるボットのIDです。ask()任意のボットの単一ラウンド中に何度も呼び出すことができますが、まったく呼び出せません。 answer(self,n,ID)、これはlist長さnのブール値のa を返すことにより試験に答える試みです。IDは、ask()試験を生成したボットのIDです。answer()各ボットのラウンドごとに1回だけ呼び出されます。 update(self,rankList,ownExam,otherExams)コントローラーがすべての昇格と降格を実行すると呼び出されます。その引数は次のとおりです。すべてのボットのIDですべてのランクをリストする整数のリスト。2つのリストで構成されるタプル。最初は試験の質問、次にボットが出した回答(忘れた場合に備えて)。次に、同様に試験回答ペアで構成されるタプルのリスト。今回はボットが配布したすべての試験について。 __init__(self, ID, n) ボットに独自のIDと競合するボットの数を渡します。 クラスは私的使用のために他の機能を実装することができます さらに変数を定義し、それらを使用して過去の試験に関するデータを保存することは明示的に許可されています。 メタ効果のプログラミングは禁止されています。つまり、他のボットのコード、コントローラーのコードに直接アクセスしようとすると、例外などが発生します。これは試験の戦略のコンテストであり、コードハッキングのコンテストではありません。 お互いを助けようとするボットは、メタ効果を介してそれを行わない限り、明示的に許可されますが、純粋に通過する情報によって update() 他の言語は、Python 3に簡単に変換できる場合にのみ許可されます。 ライブラリnumpyはとしてインポートされnpます。バージョンは1.6.5です。つまり、古いランダムライブラリを使用します。numpy 1.7をお持ちの場合numpy.random.mtrand、テスト用に古い関数を使用できます。mtrandを削除することを忘れないでください。 実行時にボットが例外を発生させた場合、失格となります。コードが非常に難読化されているため、ask()またはanswer()が呼び出されたときに長さnのリストを生成するかどうかを判断できないボットも、プリエンプティブに失格になります。ディープコピーの出力を強制するボットは、スコアで-1を取得します。 クラス名は一意である必要があります 1人につき複数のボットが許可されますが、繰り返し更新されるボットの最新バージョンのみが取得されます。 ボットの類似性について混乱があるようです。 別のボットのコピーを投稿することはできません。これは、この課題に実際に適用される唯一の 標準的な抜け穴です。 あなたがされている許可され、他の人のボットを含む他のボット、とのコードを共有しているために。 そのようなカーボンコピーボットの数が成功するために最低限必要であることを証明できる場合を除き、戦略に対する些細な変更(質問生成のシードの変更など)のみが異なるボットを送信することはできません。彼らの戦略の制定(通常、協力のために2つのボットになります)。 ボットの例: JadeEmperor常にゲームの一部ですが、競合しません。彼は最高ランクのボットの試験のジェネレーターとして機能します。彼の試験はランダムですが、均一ではなく、スマートボットが前進する方法を可能にします。 class JadeEmperor: def __init__(self): pass …

8
丘の王になるためにクーデターを上演!
リーダーボード 154 Calculator 144 Taxman 138 Statistician 137 Solver 137 RandoAggroLawyer 136 Gambler 134 Turncoat 119 Lawyer 119 BloodyMurder 113 Bandit 79 Challenger 74 Mask 64 Random ログおよびすべての出力ファイルを含む最新の一致のアーカイブが利用可能です。 Brilliandの電卓が勝者です!彼の答えは受け入れられますが、それは挑戦が終わったという意味ではありません。新しいエントリを送信するか、現在のエントリを編集して、彼の王位をノックアウトしてみてください。月末にリーダーに賞金を授与します。 遊びのルール クーデターは2〜6人のプレイヤー向けに設計されたカードゲームで、2人でプレイします。それは、コインの宝庫(私たちの目的では無限です)と15枚のカードのデッキで構成され、次の各タイプを3枚含んでいます:大使、暗殺者、キャプテン、コンテッサ、デューク。ゲームの開始時に、各プレイヤーにはコインが1枚与えられ、ランダムに2枚のカードが配られます。オブジェクトはあなたの手にカードを持つ最後のプレイヤーになることです。 ターンでは、プレイヤーはカードに関係なく次のいずれかのアクションを実行できます。 収入:財務省からコインを1枚受け取ります。ブロックできず、変更不可能。 対外援助:国庫から2枚のコインを受け取ります。デュークを持つプレイヤーによってブロックすることができます。挑戦できない。 クーデター:選択した対戦相手のカードを1枚プレイから取り除きます。コストは7コイン。被害者は、破棄するカードを選択できます。プレイヤーが自分のターンの開始時に10個以上のコインを持っている場合、彼らはクーデターをしなければなりません。ブロックできず、変更不可能。 カードに応じて、プレイヤーは次のいずれかのアクションを自分のターンとして実行することもできます。 交換:アンバサダーを持つプレイヤーは、デッキから2枚のカードを取ることができます。その後、彼らは自分の手札と描かれたカードから、元々持っていた数のカードを選ぶことができます。(つまり、カードが1枚しかない場合は、描かれたカードの1つと交換または保管できます。2枚のカードがある場合は、4枚のカードのうち2枚を選択できます。)2枚の不要なカードをデッキに戻します。ブロックできませんが、挑戦的です。 暗殺:暗殺者を持つプレイヤーは、ゲームから対戦相手のカードを取り除くために3コインを使うことができます。被害者は、破棄するカードを選択できます。コンテッサを持つプレイヤーによってブロックされる可能性があります。その場合、コインは返却されません。チャレンジ可能、その場合、コインは返却されます。 盗む:キャプテンを持つプレイヤーは、相手からコインを2枚取ることができます。相手がコインを1枚持っている場合、そのコインを1枚取ります。相手のコインがゼロの場合、彼らは盗むことはできません。アンバサダーまたはキャプテンを持つプレイヤーがブロックできます。挑戦的。 税金:公爵を持つプレイヤーは、財務省から3枚のコインを受け取ることができます。ブロックできませんが、挑戦的です。 クーデターのトリッキーな部分は、プレーヤーが持っているカードについて嘘をつくことを許可されていることです!アクションを実行したり、それに関連付けられたブロックを試みるためにカードを用意する必要はありません。 プレーヤーがカードのアクションを実行すると、対戦相手(そのアクションによって害を受けていない相手も含む)は、俳優に挑戦し、そのアクションのカードを持っているとは思わないと言います。チャレンジャーが正しければ、アクションはキャンセルされ、アクターは選択したカードを1枚捨てる必要があります(該当する場合、消費したコインを取り戻します)。そうでない場合、アクションが実行され、アクターはチャレンジされたカードをデッキに戻し、新しいカードを引きます。チャレンジャーはカードの1つを捨てなければなりません。プレイヤーは、チャレンジしたときにどのカードを持っているかについて正直でなければなりません。 暗殺、クーデター、ロストチャレンジでプレイから除外されたカードはデッキに戻されませんが、勝ったチャレンジの一部として公開されたカードはデッキに戻されます。 ブロックはアクションと同じようにチャレンジされます。たとえば、プレーヤーAが外国援助を主張し、プレーヤーBが「私は公爵を持っているのにあなたの外国援助をブロックしている」と言った場合、Aは「あなたが公爵を持っているとは思わない」と言うかもしれません。その主張が正しい場合、Bは嘘をつかんだためにカードを失い、Aは2枚のコインを受け取ります。そうでない場合、Aはカードを失い、コインを受け取らず、Bはデュークをデッキに戻して新しいカードを引く必要があります。 Assassinateでのブロックとチャレンジの仕組みを具体化する必要があります。プレイヤーAが「私には暗殺者がいて、プレイヤーBを暗殺する」と言ったとします。BがAに挑戦したりブロックしたりしない場合、暗殺が行われます。Bはカードを失い、Aは3枚のコインを支払います。 あるいは、Bは「あなたが暗殺者を持っているとは思わない」と言って挑戦することができます。そうであれば、Aはカードを捨ててコインを返し、Bは影響を受けず、Aのターンは終了します。Bの信念が正しくなく、Aが暗殺者を保持している場合、Bは両方のカードを失い、失敗します。1つは不正なチャレンジで、もう1つは暗殺からです。 挑戦する代わりに、Bは「コンテッサがあり、暗殺者をブロックする」と言うことができます。AがBを信じている場合、Aのターンは終了し、コインは返却されません。しかし、Aはブロックに挑戦して「コンテッサを持っているとは思わない」と言うことができます。Bが実際にコンテッサを保持している場合、Aは不正なチャレンジのカードを失います。しかし、Bがそうしなかった場合、Bは1枚のカードを嘘に巻き込まれ、もう1枚を暗殺から失います。 上記の説明と同様のロジックは、キャプテンのスティール能力に適用され、アクションまたはブロックのいずれかにチャレンジすることができます。 暗殺に挑戦することに失敗した場合、または暗殺を阻止するためのコンテッサを持っていると誤って主張した場合、1ターンで両方のカードを失い、排除することができます。チャレンジから1枚のカードと暗殺から1枚のカードを失います。 チャレンジ …

16
この構成された番号のスターターは何ですか?
多くのプログラミング言語は、数字を既存の数字の末尾に「連結」することで大きな整数を構成します。たとえば、LabyrinthまたはAdaptです。数字を最後に連結すると、既存の数字が454545で数字が777場合、結果の数字は457(45 × 10 + 7 )457(45×10+7)457\:(45 \times 10 + 7)。 構築数が1桁の数の倍数を使用することにより、この方法で構築することができる数である:1 、2 、3 、4 、5 、6 、7 、8 、91、2、3、4、5、6、7、8、91, 2, 3, 4, 5, 6, 7, 8, 9、これらの9つの配列の一つの要素別名: 1 、12 、123 、1234 、12345 、…1、12、123、1234、12345、…1, 12, 123, 1234, 12345, \: \dots 2 、24 、246 、2468 、24690 、…2、24、246、2468、24690、…2, 24, 246, 2468, 24690, \: …

9
ファイブナムと少し
(パラドックス、パラドックス、最も独創的なパラドックス) これは、さまざまなR関数に触発されたマルチパートシリーズの最初のパートです。 タスク データセットを考えるとDDD正の整数の、私はあなたが計算する必要が5数要約のDDD。ただし、大規模なデータセットで作業しているため、コードをできるだけ小さくして、コンピューターに保存できるようにする必要があります。 5つの数字の概要は次のとおりです。 最小値 最初の四分位(Q1) 中央値/ 2分の1(Q2) 3番目の四分位(Q3) 最大値 四分位数を定義する方法はいくつかありますが、Rによって実装された方法を使用します。 定義: 最小値と最大値:それぞれ最小値と最大値。 中央値以下の場合中央値DDDあればエントリの奇数、及び2つの中間最も値の算術平均値を有し、DDDエントリの偶数を有します。これは、中央値が非整数値であることを意味することに注意してください。以前に中央値を計算する必要がありました。 第1四分位と第3四分位:DDDのエントリ数が奇数の場合、各半分の中央要素を含む2つの半分にデータを分割し、各半分の中央値を求めます。下半分の中央値は第1四分位、上半分の中央値は第3四分位です。 例: D = [ 1 、2 、3 、4 、5 ]D=[1、2、3、4、5]D=[1,2,3,4,5]。中央値は、その後で333、及び下半分である[ 1 、2 、3 ][1、2、3][1,2,3]の最初の四分位得222、上半分である[ 3 、4 、5 ][3、4、5][3,4,5]の第三四分位生じ、444。 D = [ 1 、3 、3 、4 、5 、6 、7 、10 ]D=[1、3、3、4、5、6、7、10]D=[1,3,3,4,5,6,7,10]。中央値は4.54.54.5、下半分である[ 1 、3、3 、4 ][1、3、3、4][1,3,3,4]の第一四分位得333、及び上半分である[ …

30
ゼロに向かって丸める
これは簡単なタスクです。正または負の実数を指定して、ゼロに近い次の整数に丸めます。 チャレンジ 1つの正または負の実数の合理的な形式(stdin、関数など)で入力を行います。 この数値を「ゼロに向かって」丸めます-これが正の場合は切り捨て、負の場合は切り上げます。 番号を返すか、コンソールに出力します。 テストケース 1.1 => 1 -1.1 => -1 500.4 => 500 -283.5 => -283 50 => 50 -50 => -50 ルール これはcode-golfなので、バイト単位の最小スコアが勝ちます。 標準的な抜け穴に注意してください。 楽しんで! より多くのジミーの課題が近日公開予定

3
ギャップを埋める
白の背景と黒のドットのセットを備えた白黒の画像が与えられたら、黒のピクセルの各ペアの間にパスがあるように、白のピクセルのセットを赤でペイントします。 詳細 パスは、接続されたピクセルのセットです(8近傍接続)。黒いピクセルをパスの一部として使用できます。目標は、上記の条件下で赤いピクセルのセットを最小化して、対応する画像を出力することです。 最適なソリューションを見つける必要はありません。 些細で同時に最悪の解決策は、すべての白いピクセルを赤で塗りつぶすことです。 例(視認性のためにピクセルが拡大されています): 詳細 (適切な形式の)ピクセル画像を指定すると、上記で指定したようにドットが接続された別の画像と、使用された赤いピクセルの数を示す整数が返されます。 スコアは、14個のテストケースのそれぞれの積(1 +赤いピクセルの数)です。 目標は最低のスコアを持つことです。 テストケース 14個のテストケースを以下に示します。出力の接続性を確認するためのpythonプログラムは、ここにあります。 メタ さまざまな提案をしてくれた@ Veskah、@ Fatalize、@ wizzwizz4、@ trichoplaxに感謝します。

6
秘密を守れ!
私にはたくさんの秘密があり、それらを保管する場所はありません! 目標は単純です。文字列を保存し、パスワードで保護できるプログラムを作成します。 プログラムは、エイリアス、パスワード、および(オプションの)シークレットをパラメーターとして受け取ります。 指定されたエイリアスでプログラムが初めて呼び出された場合、秘密を保存/記憶し、必要なものを出力します。 プログラムが以前に使用されたエイリアスで呼び出された場合、パスワードがそのエイリアスで最初に実行されたときと同じである場合、そのエイリアスのシークレットが出力されます。 その他の場合 特定のエイリアスで最初に呼び出され、シークレットが指定されていない場合は、何も保存しません。 使用されたエイリアスを使用してプログラムが呼び出され、パスワードが正しくない場合-あらゆる種類のエラーを返すか、まったく何も返しません。 使用されたエイリアスでプログラムが呼び出された場合、パスワードは正しく、新しいシークレットが提供されます。古いシークレットを出力し、新しいシークレットに置き換えて、次回は新しいシークレットのみが出力されるようにします。 使用されたエイリアスでプログラムが呼び出された場合、パスワードは正しく、新しいシークレットは提供されません。古いシークレットを出力し、置き換えられないことを確認してください。 注:これらのシークレット/パスワードは安全に保存する必要はありません また、注:エイリアスのパスワードとシークレットの英数字入力はすべて受け入れる必要があります 標準ルールが適用されます、幸運を祈ります!

4
韓国語の2セットキーボードとqwertyキーボード間の変換
前書き DVORAKキーボードレイアウトに似ています難しくなります。 最初に韓国語のキーボードについて話しましょう。ウィキペディアで見ることができるようにで、韓国語と英語のキーセットを切り替えるKor / Engキーがあります。 韓国人は間違ったタイプを入力することがあります。韓国語でqwertyキーボード、または英語で2セットキーボードで入力しようとします。 だから、ここに問題があります:韓国語の文字を2セットキーボードで入力した場合、それをqwertyキーボードで入力したアルファベット文字に変換します。qwertyで入力されたアルファベット文字が指定されている場合は、2文字キーボードに変更します。 2セットキーボード 以下に2セットのキーボードレイアウトを示します。 ㅂㅈㄷㄱㅅㅛㅕㅑㅐㅔ ㅁㄴㅇㄹㅎㅗㅓㅏㅣ ㅋㅌㅊㅍㅠㅜㅡ そして、シフトキーで: ㅃㅉㄸㄲㅆㅛㅕㅑㅒㅖ 一番上の行だけが変更され、他の行は変更されません。 韓国文字について ここで終了した場合、簡単かもしれませんが、いいえ。入力するとき dkssud, tprP! 出力はこの方法では表示されません。 ㅇㅏㄴㄴㅕㅇ, ㅅㅔㄱㅖ! しかし、このように: 안녕, 세계!(means Hello, World!) そしてそれは物事をずっと難しくします。 韓国語の文字は、「長城(子音)」、「中城(母音)」、および「J城(音節の末尾の子音:空白にすることができます)」の3つの部分に分かれています。 幸いなことに、それを行う方法があります。 分離方法 19個のチョソン、21個のチョンソン、および28個のジョンソン(空白)があり、0xAC00は韓国語文字の最初の文字である「가」です。これを使用して、韓国語の文字を3つの部分に分けることができます。以下に、それぞれの順序と2セットキーボードでの位置を示します。 選択した順序: ㄱㄲㄴㄷㄸㄹㅁㅂㅃㅅㅆㅇㅈㅉㅊㅋㅌㅍㅎ r R s e E f a q Q t T d w W c z …

30
増分範囲!
あなたの仕事は、2つの正の整数と与えられると、増分範囲シーケンスの最初の数を返すことです。xxxnnnxxx 増分範囲シーケンスは、最初に範囲を生成します。たとえば、が場合、リストが生成されます。次に、ずつ増加した最後の値を既存のリストに繰り返し追加し、続行します。nnnnnn333[1,2,3][1,2,3][1,2,3]nnn111 たとえば、の入力:n=3n=3n=3 n=3 1. Get range 1 to n. List: [1,2,3] 2. Get the last n values of the list. List: [1,2,3]. Last n=3 values: [1,2,3]. 3. Increment the last n values by 1. List: [1,2,3]. Last n values: [2,3,4]. 4. Append the last n values incremented to the …

16
カスタムラベル付きの二面体グループD4コンポジション
二面体グループは、正方形の対称グループです。つまり、回転と反射を介して正方形をそれ自体に変換する動きです。8つの要素で構成されます:0、90、180、および270度の回転、水平、垂直、および2つの対角軸にわたる反射。D4D4D_4 画像はすべて、Larry Riddleによるこの素敵なページからのものです。 この課題は、これらの動きを構成することです。2つの動きが与えられると、それらを次々に実行するのと同じ動きを出力します。たとえば、移動7の後に移動4を行うことは、移動5を行うことと同じです。 移動を4に、次に移動7に順序を切り替えると、代わりに移動6が生成されることに注意してください。 結果は以下の表のとおりです。これは、グループ Cayleyテーブルです。だから、例えば、入力出力生成しなければならない。D4D4D_47,47,47, 4555 1234567812345678123456782341786534126587412387565867134267583124758624138675423112345678123456781234567823418756341265874123786557681324685731427685421385762431\begin{array}{*{20}{c}} {} & {\begin{array}{*{20}{c}} 1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 \\ \end{array} } \\ {\begin{array}{*{20}{c}} 1 \\ 2 \\ 3 \\ 4 \\ 5 \\ 6 \\ 7 \\ 8 \\ \end{array} } …

11
ソース順列
順列セットのS= { s1、s2,…,sn}S={s1,s2,…,sn}S = \{s_1, s_2, \dotsc, s_n\}である全単射関数π:S→Sπ:S→S\pi: S \to S。例えば、S={1,2,3,4}S={1,2,3,4}S = \{1,2,3,4\}、関数π:x↦1+(x+1mod4)π:x↦1+(x+1mod4)\pi: x \mapsto 1 + (x + 1 \mod 4)は順列です: π(1)=3,π(2)=4,π(3)=1,π(4)=2π(1)=3,π(2)=4,π(3)=1,π(4)=2 \pi(1) = 3,\quad \pi(2) = 4,\quad \pi(3) = 1,\quad \pi(4) = 2 我々はまた、のは、見てみましょう、無限集合の順列を持つことができるNN\mathbb{N}例として:関数π:x↦x−1+2⋅(xmod2)π:x↦x−1+2⋅(xmod2)\pi: x \mapsto x-1 + 2\cdot(x \mod 2)は、2つのブロックの奇数と偶数の整数を交換する順列です。最初の要素は次のとおりです。 2,1,4,3,6,5,8,7,10,9,12,11,14,13,16,15,…2,1,4,3,6,5,8,7,10,9,12,11,14,13,16,15,… 2,1,4,3,6,5,8,7,10,9,12,11,14,13,16,15,\dotsc チャレンジ この挑戦のためにあなたの仕事は、任意の実装の機能/プログラムの書き込みにある1つの正の自然数の順列を。ソリューションのスコアは、実装された順列でマッピングした後のコードポイントの合計です。 例 Pythonで実装された上記の順列をとると仮定します。 def …

4
有効なペナルティシュートアウトプレフィックスですか?
でサッカー(また、サッカーとしても知られる)、ペナルティシュートアウトは、余分な時間(すなわち、サッカーの残業)の後、タイで終了することができない試合で使用することができる第二タイブレーカー尺度です。 ペナルティーシュートアウトでは、主審はコインを投げてどのゴールでシュートアウトが起こるかを決定し、次に別のコインを投げてどのチームが最初に開始するかを決定します。ただし、この課題に関連する唯一のことは、次に説明するとおりです。 各チームには開始時に5つのペナルティがあり、ペナルティスコアは0〜0です。いずれかの時点で、チームの残りのペナルティーが現在勝っているチームを変更するのに十分でない場合、シュートアウトは停止します。 残りのペナルティーはないが、両チームのポイントが等しい場合、追加のペナルティーが両チームに付与されます。これは、ポイントが等しくなくなるまで繰り返されます。 シュートアウトが停止した後、ペナルティスコアが最大のチームがゲームに勝利します。 チャレンジ あなたの課題は、二つのリスト与えられた、あるAとB罰則チームAとチームBは、彼らが有効なPK戦を表すかどうかを判断するために、それぞれ得点表します。勝利チームを決定できるかどうかに関係なく、入力によって表される状態に到達できる場合、シュートアウトは有効です。入力に記述された状態が少なくとも1つのシナリオに到達できる場合、入力は有効であるため、おそらく両方のシナリオ(チームA開始、チームB開始)についてテストする必要があることに注意してください。リストの長さが異なる場合、長いリストのチームが最初に開始します(他のリストよりも1つの要素しか持つことができず、短いリストのチームは開始できません。短いリストは時期尚早に使い果たされるため、連続して表示されます)。 詳細な例 以下の「ルール」セクションにスキップできます。これらは、課題の解決に役立つためのものです。 このシュートアウトを入力として受け取り、-ゴールが得られなかったこととゴールが得られたことをX意味するとします(それは無効です): Team A: - X X X X Team B: - - - - X Assuming team A starts first: Team A: - (0 - 0) (max possible score 4 - 5) Team B: - (0 - 0) (max possible score …

14
2つの整数多項式の乗算
あなたの仕事は、多項式の整数と乗算それら彼らのunsimplified最初期-主要な左から右への展開(AKAへの2つの変数を取ることですFOIL二項の場合)。同様の用語を組み合わせたり、結果を並べ替えたりしないでください。展開をより明確にするには、最初の式の最初の用語に2番目の式の各用語を順番に乗算し、すべての用語に他のすべての用語が乗算されるまで最初の式を続けます。式は、単純化されたLaTeXバリアントで提供されます。 各式は、+(各側にちょうど1つのスペースがある)で区切られた一連の用語になります。各用語は、次の正規表現に準拠します。(PCRE表記) -?\d+x\^\d+ 平易な英語では、この用語は、オプションの先頭-に1つ以上の数字が続き、その後にx非負の整数の累乗が続く(で^) 完全な式の例: 6x^3 + 1337x^2 + -4x^1 + 2x^0 LaTeXに接続すると、6x3+1337x2+−4x1+2x06x3+1337x2+−4バツ1+2バツ06x^3 + 1337x^2 + -4x^1 + 2x^0 出力もこの形式に準拠する必要があります。 この形式ではブラケットが指数を囲んでいないため、LaTeXは実際に複数桁の指数を正しくレンダリングしません。(例えば4x^3 + -2x^14 + 54x^28 + -4x^5、4 x3+ − 2 x14 + 54 x28 + − 4 x54バツ3+−2バツ14+54バツ28+−4バツ54x^3 + -2x^14 + 54x^28 + -4x^5としてレンダリング)これを考慮する必要はなく、出力に括弧を含めるべきではありません。 テストケースの例 5x^4 3x^23 15x^27 6x^2 + …

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