タグ付けされた質問 「code-golf」

コードゴルフは、ソースコードの最小バイトで特定の問題を解決するための競争です。

3
別の文字を探す
あなたはこのようなパズルを見たかもしれません: を見つける0: OOOOOOOOOOOOOOOOOOOO0OOOOOOOOOOOOOOOOOO 課題は、画像が与えられた別の文字のインデックスを見つけるプログラムを書くことです。 入力 入力はになりますImage。画像は、Helvetica 24 ptの1行の黒いテキストで構成されます。白い背景の上のフォント。テキストは、2つの文字の選択から構成されます。1つの文字が繰り返され、1つの文字が1回だけ表示されます。例えば: 出力 出力はInteger、異なる文字のインデックスであるになります。上記の例では、出力はになります4。(文字列のインデックスはで始まることに注意してください0) プログラムの仕様 コードゴルフではいつものように、最短のプログラムが勝ちます。 テストケース => 10 => 11 => 5 => 16 => 10 => 21 => 20 => 13 => 11 => 4 => 7

3
私は何語の力を叫びましたか?
Skyrimでは、プレイヤーキャラクターは強力な魔法の叫び(Thu'ums)を使用して目標を達成できます。すべての叫びは3つの単語で構成されますが、プレーヤーは最初の1つまたは2つの単語を使用して、より少ないパワーでより短いクールダウンで同じ効果を達成できます。 句読点やスペースを含まない小文字のASCII Thu'um句を指定すると、それに含まれる力の単語数を返します。 例: fusrodah -> 3 dur -> 1 kaandrem -> 2 odah -> 2 vengaarnos -> 3 入力は常に、以下の叫びの1つを取り、その叫びから最初の1、2、または3語を選択し、単語を順番に連結することによって形成される小文字のASCII文字列になります。 dur neh viir faas ru maar feim zii gron fo krah diin fus ro dah gaan lah haas gol hah dov hun kaal zoor iiz slen nus joor zah frul …

7
正方形の正方形
正の整数の入力を前提としてn、次のプロセスを完了するプログラムを記述します。 それよりも大きい最小の正の整数を見つけます。nこれは完全な二乗であり、nとその他の数を連結したものです。の桁順はn変更できません。n完全な正方形を生成するために連結された数はと呼ばれるかもしれませんr_1。 r_1が完全な正方形でない場合はr_1、プロセスへの新しい入力として上記のプロセスを繰り返します。r_kと表示される完全な正方形になるまで繰り返しsます。 の値を出力しsqrt(s)ます。 入力は任意の形式で取得できます。これnは正の整数であると想定できます。いずれかr_kに先行ゼロ(およびr_k≠0)がある場合、そのゼロは無視できます。 テストケース ここにいくつかのテストケースがあります。このプロセスは、上記の手順を示しています。 Input: 23 Process: 23, 2304, 4 Output: 2 Input: 10 Process: 10, 100, 0 Output: 0 Input: 1 Process: 1, 16, 6, 64, 4 Output: 2 Input: 5 Process: 5, 529, 29, 2916, 16 Output: 4 Input: 145 Process: 145, 145161, 161, 16129, …

4
セミキンを書く
2つの言語があるAとしBます。文字列sはセミクインでAありB、次の条件を満たす場合: s言語の羽毛ですA。 sでポリグロットであるAとB。 実行の出力sとしてBプログラムは、異なる列であるs'クワインですB。 この課題の目標は、2つの異なる言語でセミキンを書くことです。これはcode-golfなので、最も短いコードが優先され、最も早い回答がタイブレーカーとして使用されます。 クインのルール 本当のクインだけが受け入れられます。つまり、以下を使用せずに、ソースコード全体をそのままSTDOUTに出力する必要があります。 直接または間接的にソースコードを読み取る。 フィードするすべての式を単に評価して出力するREPL環境に依存しています。 特定の場合にソースを出力するだけの言語機能に依存しています。 エラーメッセージまたはSTDERRを使用して、クインのすべてまたは一部を書き込みます。(STDOUTが有効なクインであり、エラーメッセージがその一部ではない限り、何かをSTDERRに書き込んだり、警告/致命的でないエラーを生成したりできます。) さらに、ソースコードはリテラル(文字列リテラル、数値リテラルなど)やNOPだけで構成されてはなりません。たとえば、`12はJellyおよびPythのポリグロットですが、JellyではNOPおよび数値リテラルであるため、無効です。 抑制されない出力(著作権表示、起動/シャットダウンメッセージ、末尾の改行など)は、クインの有効性のために出力で無視される場合があります。 ポリグロットのルール 使用される2つの言語は明確に異なる必要があります。特に: 同じ言語の異なるバージョンであってはなりません(例:Python 2とPython 3)。 それらは、同じ言語の異なる方言であってはなりません(例えば、PascalとDelphi)。 1つの言語が他の言語のサブセットではない場合があります(CとC ++ 1など)。 1つの言語は他の言語の自明な派生物ではない可能性があります(たとえば、Matlab vs. Octave 2、brainfuck vs boolfuck vs TinyBF vs ShadyAsFuck vs他のすべての自明な脳ファック派生物)。 その他の規則 STDIN(またはその他のソース)からの入力を受け入れることはできません。選択した言語が場合しなければならない入力を取り、その後、入力のいずれかが空でなければなりません(空の文字列から、パイプ/dev/nullなど)、またはプログラムの出力は、入力に依存してはなりません。 この課題では、完全なプログラムを作成する必要があります。ソリューションを実行するために追加のコードを要求することは許可されていません(ソリューションで定義されたラムダ関数の割り当てや呼び出しなど)。 1:はい、Cは実際にはC ++のサブセットではないことを知っています。それは多声の目的のために1つと見なされるのに十分に近いので、私はこの挑戦のためにそれを数えています。 2:上記のポイント1と同様に、Octaveは技術的にはMatlabと100%互換性がありませんが、互換性があるように設計されており、Matlab / Octaveのポリグロットを許可すると問題が簡単になります。

1
自動操縦モード
左上隅から始まるヘリコプターは、地面に向かって(この質問では、2D空間で)下降しています。自動操縦モードと手動モードがあります。 自動操縦モードは次のように動作します。 真下のスペースが空いていれば下へ。 それ以外の場合は、ステップを完全にランダムに左または右に移動します。(この方法で複数のステップを移動する場合があります。) そして、地面にぶつかるまで、これらの2つのステップを繰り返し続けます。手動モードはよりスマートで、上方向への移動や巧妙な操作が必要な場合でも、地面への最適な経路を見つけます。 あなたの仕事は オートパイロットは、指定されたシナリオで合格します。 オートパイロットは、特定のシナリオで失敗する可能性があります。 自動操縦は失敗しますが、手動モードは成功します、または どちらのモードも失敗します(地面への有効な経路がありません)。 入力 1dまたは2dの空でない配列としてのシナリオを想定し、2つの異なる文字を使用して空きスペースとブロックされたスペースを表します。句読点はオプションです。 オプション:配列の次元 出力 どのケースが発生したかを示す4つの定義済み文字の1つ。 サンプルデータ 入力で0(空)と1(ブロック)を使用し、出力で1 2 3 4(上記の番号)を使用 0 0 0 0 0 1 0 0 0 0 0 1 1 1 0 0 出力: 1 0 0 1 0 1 0 0 1 0 0 0 0 …

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. …

2
すべての有効なクラスフルパブリックユニキャストIPv4アドレスを出力します
IPv4アドレスは32ビット幅であるため、アドレス空間のサイズは2 32、つまり4,294,967,296です。ただし、これは理論上の上限にすぎません。これは、実際に公衆インターネットで使用される可能性があるすべてのアドレスを正確に表したものではありません。 この課題では、すべてのアドレス指定がクラスフルであると想定されています。実際には、アドレス空間のクラス分けはCIDR(Classless Inter-Domain Routing and VLSM(Variable Length Subnet Masking))に取って代わられましたが、これはこの課題では無視されます。 クラスフルアドレススキームによれば、3つのクラスがあります。 クラスA - 0.0.0.0へ127.255.255.255と/8ネットマスク長 クラスB - 128.0.0.0へ191.255.255.255と/16ネットマスク長 クラスC - 192.0.0.0へ223.255.255.255と/24ネットマスク長 クラスD(マルチキャスト)およびE(予約済み)も定義されていますが、これらはパブリックユニキャストアドレスには使用されません。 各クラスは、そのクラスのネットマスクに従ってネットワークに分割されます。 したがって3.0.0.0、クラスAネットワークの例です。クラスAのネットマスク長が8であるので、このネットワークのための完全なアドレス空間がある3.0.0.0に3.255.255.255。ただし、最初のアドレス(3.0.0.0)はネットワークアドレスとして予約され、最後のアドレス(3.255.255.255)はそのネットワークのブロードキャストアドレスとして予約されています。したがって、使用可能なアドレスの実際の範囲は3.0.0.1に3.255.255.2542である24 - 2(= 16777214)合計アドレス。 同様に、200.20.30.0クラスCネットワークの例です。クラスCのネットマスク長が24であるので、このネットワークのための完全なアドレス空間がある200.20.30.0に200.20.30.255。ネットワークブロードキャストアドレスの葉を使用可能なアドレスの実際の範囲を除去することである200.20.30.1と200.20.30.254その2 8 2(= 254)合計アドレス- 。 パブリックユニキャストに使用できるアドレス範囲には、さらに制限があります。RFC 6890によると、許可されない範囲は次のとおりです。 0.0.0.0/8 -ローカルネットワーキング 10.0.0.0/8 -私的使用 100.64.0.0/10 -共有アドレス空間 127.0.0.0/8 -ループバック 169.254.0.0/16 -ローカルリンク 172.16.0.0/12-私的使用 192.0.0.0/24 -IETFプロトコルの割り当て 192.0.2.0/24 -ドキュメントでの使用のために予約済み 192.88.99.0/24 -6to4リレーエニーキャスト …

1
月相を計算する
前書き tl; dr この課題では、特定の日付の月の位相を計算する必要があります。 このチャレンジは、ゲームの 心理社会的視聴覚実験「Superbrothers:Sword&Sworcery EP」に触発されました。ではS:S&S EP一部のイベントは、時間内の特定のポイントでのみ起こるよう月の段階では冒険の成果にとって重要です。 問題は、特定の日にどの月相が存在するかです。新月から第1四半期、満月から第3四半期までの各主要段階は、約7.38日です。月周期全体はおよそ29.52日です。これらの値に基づいて、さまざまな計算方法が存在します。1 入力 1970年1月1日から2116年12月31日までのグレゴリオ暦に基づく日付。 あなたは、次のいずれかの形式を選択することができますyyyy-mm-dd、dd.mm.yyyy、dd/mm/yyyy、yyyymmddまたはddmmyyyy。 出力 [0-7]このゼロインデックスの配列に基づいて、月相のインデックスを出力します。 ['New moon', 'Waxing crescent', 'First quarter', 'Waxing gibbous', 'Full moon', 'Waning gibbous', 'Third quarter', 'Waning crescent`] 必要条件 プログラムや関数を書くことができます。無名関数を使用する場合は、それを呼び出す方法の例を含めてください。 入力はSTDIN、コマンドライン引数から、関数パラメーターとして、または最も近い同等物から受け入れられます。 これはコードゴルフなので、バイト単位の最短の回答が優先されます。 ムーンフェーズを計算する組み込みライブラリまたは外部ライブラリは許可されていません。2 標準の抜け穴は許可されていません。 テスト 値は次のとおりです。 date | index of the phase | illumination | name 完全な月周期: 08.02.2016 …

6
文から重複する単語を削除する
この課題では、各文から重複する単語を削除します。 例 Hello Hello, World! Hello, World! Code Code! Golf Code Code! Golf Code Hello hello World Hello World Programming Golf Programming! Programming Golf! 仕様 入力はASCII文字列になります。 文は、文字列の終わり、改行(\n)、または句読点(.!?)までの任意のものとして定義されます。 単語はのシーケンスとして定義されA-Za-zます。 単語は大文字と小文字を区別しません(Hello== heLlO)。 文中の単語の最初の出現のみが保持されます。 単語が削除された場合、削除された単語の前のスペースは削除する必要があります。(例A A B-- A B)。 いつものように、標準の抜け穴は許可されていません。 これはコードゴルフなので、バイト単位の最短コードが優先されます!
10 code-golf  string 

1
デジタルクロックマッチパズル
特定の数のマッチを追加、削除、または移動して新しい数または形を作成することを含む、マッチに関する多くのパズルがあります。これはデジタル時計のようなものです。 12時間のデジタル時計の有効な時間を考慮して、最も少ない行を移動する必要がある数字を出力して、時計上のすべての可視数字がその数字になるようにします。2桁以上の場合は、すべて出力してください。すべての桁を同じにすることが不可能である場合、出力-1または0以外の偽の値(これらの多くが得られます)。 時計の数字は次のようになります。 | | _ _| |_ _ _| _| |_| | _ |_ _| _ |_ |_| _ | | _ |_| |_| _ |_| _| _ | | |_| テストケース: 入力: 123 時計表示: _ _ | : _| _| | : |_ _| 出力: 4 説明:の表示で1:23は、合計12本の線を引く必要があります。したがって、すべての桁が同じになるには、各桁に4行が必要です。4行ある唯一の数字は4です。したがって、答えはでなければなりません4。 入力: …

3
I-Chingペアバイナリコンピューター
前書き I Chingは古代の占いテキストであり、最も古い中国の古典です。どうやら乱数を生成するクレロマンシーと呼ばれる一種の占いを使用しています。 周YIの基本単位である六角形(卦GUA)、6つの積層水平ライン(爻YAO)からなる図。各行は壊れているか切れていないかのどちらかです。Zhou yiの受信テキストには、64個の可能なヘキサグラムがすべて含まれています キング温シーケンス 32ペアにグループ化本64 hexagrams、。28組のペアについて、2番目のヘキサグラムは最初のヘキサグラムを上下逆にして作成します(つまり、180度回転)。このルールの例外は、回転後も同じである対称ヘキサグラムです。これらのパートナーは、各線を反転させることによって与えられます:ソリッドは壊れ、ソリッドは壊れます。 ▄▄▄▄▄▄▄ ▄▄▄ ▄▄▄ ▄▄▄ ▄▄▄ ▄▄▄▄▄▄▄ ▄▄▄ ▄▄▄ ▄▄▄▄▄▄▄ ▄▄▄ ▄▄▄ ▄▄▄ ▄▄▄ ▄▄▄▄▄▄▄ ▄▄▄ ▄▄▄ ▄▄▄▄▄▄▄ ▄▄▄ ▄▄▄ ▄▄▄▄▄▄▄ ▄▄▄▄▄▄▄ ▄▄▄ ▄▄▄ ▄▄▄▄▄▄▄ ▄▄▄▄▄▄▄ ▄▄▄ ▄▄▄ ▄▄▄ ▄▄▄ ▄▄▄ ▄▄▄ ▄▄▄ ▄▄▄ ▄▄▄▄▄▄▄ ▄▄▄ ▄▄▄ ▄▄▄ ▄▄▄ ▄▄▄▄▄▄▄ ▄▄▄ ▄▄▄ ▄▄▄ …

3
結合区間表記で2つのセットの共通部分を見つける
結合区間表記で2つのセットの共通部分を見つける 区間の和集合として記述された2つの実数セットが与えられた場合、これら2つのセットの共通部分の説明を、同じタイプの区間の和集合として出力します。 入力セットは常に、各インターバルが異なる整数で開始および終了するように、インターバルの和集合で構成されます(つまり、どのインターバルにもメジャーゼロはありません)。ただし、同じセット内の異なる間隔は、同じ整数で開始または終了したり、重複したりする場合があります。 出力セットは、整数で開始および終了する間隔の和集合でもある必要がありますが、出力の間隔は、単一の整数でも他の間隔と重複することはできません。 入力は、整数のペアの2つのリストで構成されている限り、選択した言語に適した任意の形式を取ることができます。 たとえば、次のようにセットを表すことができます。 [-10,-4]u[1,5]u[19,20] またはとして: [[-10,-4],[1,5],[19,20]] またはとして: [-10,-4;1,5;19,20] 出力表現は、入力表現と同じでなければなりません(2つではなく1つの間隔のリストであることを除いて)。 例/テストケース: 入力: [[[-90,-4],[4,90]],[[-50,50]]] 出力: [[-50,-4],[4,50]] つまり、-90から-4までのすべての実数および4から90までのすべての実数を含むセットと、-50から50までのすべての実数を含むセットを交差させます。交差は、すべてを含むセットです。 -50〜-4の実数と4〜50のすべての実数。より視覚的な説明: -90~~~~~-4 4~~~~~90 intersected with -50~~~~~~~~50 yields: -50~-4 4~~50 入力: "[-2,0]u[2,4]u[6,8] [-1,1]u[3,5]u[5,9]" 出力: "[-1,0]u[3,4]u[6,8]" 入力: [-9,-8;-8,0;-7,-6;-5,-4] [-7,-5;-1,0;-8,-1] 出力: [-8,0] 無効な出力(同じセットを表す場合でも): [-8,0;-7,-5;-5,0] 得点: これはコードゴルフなので、次のボーナスによって変更される可能性があるため、バイト単位での最短のソースが優先されます。 ボーナス: 区間の境界として正と負の無限大もサポートする場合は-15%。これらの数値を表すトークンを選択できます。(そして、はい、無限は超現実の数です; P)

3
クリスマスの星を描く/星形十二面体
紙の星は私の家族のクリスマスの大物なので、私は仮想の星がクールだと思いました。 以下は、正十二面体の画像です(https://en.wikipedia.org/wiki/Dodecahedronから、そこで言及された作者に帰属します)。 星座のプロセス(ウィキペディア)を多面体に適用すると、他の面と交差するまで面が拡張されます。したがって、通常の12面体から始めて、次の形状を取得します。 小さな十二面体、大きな十二面体、そして大きな十二面体 http://jwilson.coe.uga.edu/emat6680fa07/thrash/asn1/stellations.htmlからの画像 これらは、十二面体(ウルフラム)の3つの可能な星座です。それらは、12面体から小さな12面体、大きな12面体、そして大きな12面体へと自然に進行します。 仕事 プログラムまたは関数は、次の多面体の1つである画像ファイルを表示または出力する必要があります。正十二面体、小さい星形十二面体、大きい十二面体または大きい星形十二面体。 配色は上の2番目の画像のようになります。6対の向かい合う面のそれぞれは、赤、黄、緑、シアン、青、マゼンタの6色のいずれかになります。言語またはそのドキュメントでこれらの名前のデフォルトの色を使用するか、FF0000、FFFF00、00FF00、00FFFF、0000FF、FF00FFの色を使用できます(必要に応じて、強度を最低75%に下げることで、これらのトーンを下げることができます。たとえば、FをCに減らすなど)。 「面」を同じ平面内のすべての領域として定義することに注意してください。したがって、上の画像の前面は黄色です(平行な背面も黄色になります)。 背景は黒、灰色、または白でなければなりません。エッジは省略できますが、描画する場合は黒にする必要があります。 ルール 表示される多面体の幅は500〜1000ピクセルである必要があります(幅は、表示される2つの頂点間の最大距離として定義されます)。 表示される多面体は、透視投影(多面体から少なくとも5幅離れた視点)、または正射影(事実上、視点が無限遠にある透視投影)でなければなりません。 多面体はどの角度からでも表示できる必要があります。(可能な限り簡単な角度を選択してハードコードされた2D形状を作成することはできません。)角度は、次のいずれかの方法でユーザーが指定できます。 stdinから、または関数またはコマンドラインパラメータとして、3つの回転に対応する3つの角度の入力。これらは、オイラー角(最初と最後の回転が同じ軸を中心とする)またはテイトブライアン角(x、y、z軸を中心に1回転)のいずれかになります。https://en.wikipedia.org/ wiki / Euler_angles(簡単に言えば、各回転がx、y、またはz軸を中心とし、連続した回転が垂直軸を中心とするものであれば何でもかまいません。) ユーザーが多面体をx軸とy軸を中心に10度以下のステップで回転させ、任意の回数だけ画面を更新するための機能(画面に垂直なz軸を想定)。 多面体はワイヤーフレームではなく、ソリッドでなければなりません。 多面体を描画するための組み込み関数は許可されていません(Mathematicaであなたを探しています!) 得点 これはコードゴルフです。バイト単位の最短コードが優先されます。 ボーナス 3D描画にビルトインを使用しない場合は、スコアに0.5を掛けます。 12面体の星座を3つすべて表示できる場合は、スコアに0.7を掛けます。これは、ユーザーがstdinから入力した1〜3の整数で選択するか、関数またはコマンドラインパラメーターで選択できます。 両方のボーナスを獲得すると、スコアに0.5 * 0.7 = 0.35が掛けられます。 役立つ情報(以下のソース) https://en.wikipedia.org/wiki/Regular_dodecahedron https://en.wikipedia.org/wiki/Regular_icosahedron 十二面体には20個の頂点があります。それらのうちの8つは、次のデカルト(x、y、z)座標を持つ立方体の頂点を形成します。 (±1、±1、±1) 残りの12は次のとおりです(ファイは黄金比です) (0、±1 /φ、±φ) (±1 /φ、±φ、0) (±φ、0、±1 /φ) 小さい星形の十二面体と大きい十二面体の凸包は明らかに正十二面体です。外側の頂点は二十面体を表します。 ウィキペディアによると、正二十面体の12個の頂点は、(0、±1、±φ)の巡回置換と同じように記述できます。小さな星形の十二面体と大きい十二面体(上記の十二面体と同じスケール)の外側の頂点は、より大きな二十面体を形成し、頂点の座標は(0、±φ^ 2、±φ)の巡回置換です。 12面体と20面体の面間の角度は、それぞれ2 arctan(phi)とarccos(-(√5)/ 3)です。 …

3
つまようじシーケンスを生成
つまようじシーケンスとは何ですか? ウィキペディアによると ジオメトリでは、つまようじのシーケンスは2次元パターンのシーケンスであり、シーケンスの前のパターンに線分(つまようじ)を繰り返し追加することで形成できます。 設計の最初の段階は、単一の「つまようじ」、つまりラインセグメントです。最初のステージの後の各ステージは、前のデザインを採用して形成され、露出した爪楊枝の端ごとに、その端の直角に中心を置く別の爪楊枝を配置します。 このプロセスにより、n段階のセグメント数が0.45n2から0.67n2の間のフラクタルパターンで振動する成長パターンが生じます。T(n)がステージnのセグメント数を表す場合、nが2の累乗に近いときにT(n)/ n2が最大に近いnの値が発生し、最小に近い値は2の累乗の約1.43倍の数の近くで発生します。つまようじのシーケンスの段階の構造は、T平方フラクタル、またはUlam–Warburtonセルオートマトンのセルの配置によく似ています。 パターン内のつまようじで囲まれているが、つまようじで交差していない境界付き領域はすべて、正方形または長方形である必要があります。つまようじパターンのすべての開いた四角形(つまようじで完全に囲まれているが、つまようじが内部を横切っていない四角形)の辺の長さと面積は2の累乗で、辺の長さの1つであると推測されています最大2つです。 仕事 STDIN、関数引数、またはコマンドライン引数から入力を受け取るプログラムまたは関数を作成し、その段階で余計なフラクタルを作成する必要があります。避けられない場合を除き、改行の先頭と末尾は禁止されています。境界ボックスは、先頭と末尾のスペースを含め、最低限必要です。初期ラインの場合\、空間内で2つの対角線を作ります。入力は2000未満であることが保証されています。少なくとも1行にスペース以外の文字が含まれています。後続スペースは許可されます。 テストケース 1 \ \ 5 \ /\ /\ / /\ \/\/\ \ \ \ \ \/\/\ \/ / \/ \/ \

1
ブラックフライデーキュー管理
前書き あなたは大手小売店の電化製品部門のマネージャーであり、年間最大の販売日は今週の金曜日です。群集の管理を支援するために、ストアは最大の取引のためのチケットシステムを実装しています。このシステムでは、顧客はアイテムを購入する前にチケットを提示する必要があります。あなたの仕事は、チケットを検証するプログラムを書くことです。 (予算削減のため)店で利用できる唯一のコンピューターはキーボードが壊れている恐竜です(そして、あなたが持っているのは互換性のないUSBキーボードだけです)ので、マウスでプログラムを入力する必要があります。したがって、プログラムはできるだけ短くする必要があります。 製品 あなたは、以下の5つの異なる製品を販売しています。各製品にはすべて小文字の名前があり、購入できる数と購入時間に関するさまざまなルールがあります。 television:(真夜中)5からまで購入できる薄型テレビの在庫があります。00:00:0000:59:59 smartphone:10スマートフォンは在庫がありますが、00:00:00(真夜中)から並んでいる顧客は00:59:59、使い果たしたときにバウチャーを受け取ります。 tablet:10いつでも購入できるタブレットがあります。 laptop:(00:00:00真夜中)からまで購入できるノートパソコンの数に制限はありません07:59:59。 lightbulb:いつでも購入できる電球の数に制限はありません。 入力 各行が次の形式の複数行の文字列。行はタイムスタンプでソートされます。 <time stamp> <product name> <ticket number> チケット番号は8桁です。最後の桁は、10を法とする最初の7桁の合計に等しいチェックディジットです。チケット番号が有効であるためには、正しいチェックデジットがあり、以前のすべてのチケット番号よりも厳密に大きい必要があります。 製品名は、上記の文字列のいずれかです。 タイムスタンプの形式は、一日の時間である00-23から2桁の時間であり、そして第二にそれぞれ2桁の分であり。HH:MM:SSHHMMSS 出力 出力は次の文字列のいずれかで、チケットごとに1行です。条件は順番に適用する必要があります。 Expired offer (テレビ、スマートフォン、ラップトップに適用されます。)チケットのタイムスタンプは、製品を購入するための締め切り後です。 Invalid ticket チケット番号が前のチケットの番号以下であるか、チェックディジットが無効です。 Give voucher (スマートフォンに適用されます。)製品は在庫切れですが、オファーの有効期限が切れる前に並んでいるすべての顧客がレインチェックを受けます。 Out of stock(テレビとタブレットに適用されます。)製品はすべて販売されています。数量に限りがありました。 Acceptedすべての条件が満たされているため、製品を提供します。受け入れられたチケットのみが在庫アイテムの数を減らすことに注意してください。 例 Input Output ---------------------------- -------------- 00:00:00 television 00010001 Accepted 00:00:25 smartphone 00011697 Accepted 00:01:25 …

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