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

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

1
最小のチェスアービター
チェスのテーブルを見ると、小切手またはチェックメイトの有無を確認できるプログラムを作成します。 入力:テキスト形式のチェステーブル。入力の最後の行は最初のランク(白の開始行)です。 この入力の開始位置は次のようになります(スペースは空の四角形、大文字は白です)。ここにスペースが表示されないのはなぜですか? rnbqkbnr pppppppp PPPPPPPP RNBQKBNR プログラムは、状況に応じて、次の1つ以上を(もちろん引用符なしで)印刷する必要があります。 「ホワイトキングがチェック中!」(すでにチェックメイトの場合は、これを表示しないでください!) 「ブラックキングがチェックされています!」(すでにチェックメイトの場合は、これを表示しないでください!) 「ホワイトキングはチェックメイトです!」 「ブラックキングはチェックメイトです!」 「白は行き詰まっている!」(ホワイトが移動した場合、行き詰まりが発生します- オプション) 「黒は行き詰まっている!」(黒が移動した場合、行き詰まりが発生します- オプション) 「どちらの王も今のところ安全です。」(上記のいずれにも該当しない場合) 入力は正確であり、正当なチェスの位置であることが保証されています(同じ色の2人の王がいない、2人の王がチェックされていない、など)。 スコア: スコアは、最初の有効な回答から10日以内の文字数、最低の勝ちです。オプションのステイルメイト評価が実装されている場合、サイズは20%減少します(この状況では、en-passantを実行できないと想定します)。

5
バイナリ文字列とそのペアの間の全単射
入力:「0」と「1」の1つまたは2つの文字列。2つある場合は、スペースで区切られます。すべての文字列の長さが少なくとも1です。 出力:1つの文字列が入力された場合、2つが出力されます。2が入力された場合、1が出力されます。出力文字列は何でもかまいませんが、入力Aでプログラムを実行するとBが得られ、Bで実行するとAが得られます(入力111 11が与える00000場合、入力00000は与える必要があります111 11)。 つまり、プログラムをそれ自体にパイプすると、入力したものは何でも取得できるはずです。プログラムがfooと呼ばれる場合、次のようにテストできます。 >echo 101 101|foo|foo 101 101 ブルートフォーステクニックの使用を防ぐには、コードを10秒間で1000桁の文字列で実行できる必要があります。これに対する私のpythonソリューションは、10,000桁の文字列で1秒未満なので、これは問題になりません。 最短のコードが勝ちます。

2
GolfScriptメタパーホール
GolfScriptがこれらすべてに勝ったようです。あなたは彼らを倒すことができないので、彼らに参加してください。 自己完結型のGolfscriptインタープリターを作成する 私は、自己完結型の定義を使用して、単一のプログラムを意味します:したがって、あなたのために仕事をするために、いくつかの外部プログラムに金を渡さないでください。 テストケース: 文字列とブロックは、ASCIIコードのリストとして表されます。タイプはこれらのテストでチェックされませんが、とにかく正しいはずです。 test("[50] [60]+", [[50, 60]]); test("{a} {b}+", [[97, 32, 98]]); test("'a' 'b'+", [[97, 98]]); test("' ' 0+", [[32, 48]]); test("' ' [50]+", [[32, 50]]); test("{a} 0+", [[97, 32, 48]]); test("{a} [50]+", [[97, 32, 53, 48]]); test("5 ~", [-6]); test('"1 2+"~', [3]); test('{1 2+}~', [3]); test('[1 2 …

4
シンプルなローグライクを構築する
この課題は、数年前にusenetグループrec.games.roguelike.developmentで提案されたものに基づいています。元のニュースグループの投稿は見つかりませんが、ソリューションのGithubリポジトリをご覧いただけます。それはいくつかの言語でしかゴルフされなかったので、もっと見たいです! 目的 目的は、アスキー文字を使用してダンジョンのトップダウンビューを表示するプログラムを構築することです。@ダンジョンのフリースペース(で表される)を移動できるプレイヤーを表す標識がありますが、壁(で表される#)を通過することはできません。 ダンジョンのマップは次のようになります。 #### #### # # # # # #### # # # ## ## # # # # ## ## # # # #### # # # # # #### #### プレーヤーは{2,2}の位置から開始する必要があります。{0,0}は左上隅です。 インターフェース ユーザーは、キーボードの矢印キーを使用して、プレーヤーを4つの基本方向に移動できる必要があります。 ユーザーがプログラムを終了するための何らかの方法が必要です。正常に終了する必要はありません(たとえば、例外が出力されても問題ありません)。 マップとプレーヤーは、入力が行われる前に描画する必要があり、プレーヤーは入力ごとに更新する必要があります。 図書館 Cursesなどのコンソール入力または出力用の確立されたライブラリを自由に使用してください。あなたの答えであなたが何を使っているかを述べてください。 得点 これはコードゴルフで、最短のコードが勝ちます!
8 code-golf  game 

8
配列サンドイッチ
(2012/2013のACMプログラミングコンテストの最初の予選の問題Cから転載) A 1、A 2、...、A nという名前の配列がいくつかあり、それぞれが昇順でソートされています。配列内のすべてのアイテムは32ビット整数になります。 サンドイッチは、インデックスjの集合である1、J 2、...、J nは、その結果A 1 [J 1 ]≤A 2 [J 2 ]≤....≤A N [j個のN ]。 A i [0]はA iの最初の要素です。 いくつかの配列を指定して、それらの配列から得られるすべての可能なサンドイッチを、改行で区切って出力します。 あなたの言語でこれを行う組み込み関数があるのなら、それを使わないでください。 入力は任意の方法で指定でき、出力は空白で区切る必要がありますが、任意の順序で指定できます。 テストケース: [[1, 5, 7, 10], [2, 6, 6, 8, 12], [4, 5, 9]] 出力: 0 0 0 0 0 1 0 0 2 0 …

14
配列内で最大10個に一致
チャレンジ 1桁の数字の配列が与えられた場合、そのうちの2つが合計して10になる場合は計算して、それらを出力します。 例 入力 (1、2、3、4、5、5、6、7) これは戻ります ((4,6),(5,5),(3,7)) 入力 (1、2、3、4、5) これはを返します()。5つしかないので 入力 (5、5、5、5、5) ((5,5),(5,5))5の奇数があり、各5は1回だけ使用できるため、これは戻ります ルール ここにルールがあります! 入力は、正の1桁の整数のソートされていない配列のみであると想定します 各番号は一度だけペアになります。つまり、5が3つある場合は、1つのペア(5,5)のみを形成します。(3,3,7)が存在する場合、1ペアのみを形成します(3,7) 入力の場合:リーダーが入力が数値の単一の配列であることを認識できる限り、任意のタイプの括弧(または括弧なし)を使用できます。 出力の場合:ペアの配列のように見える必要があります。配列が入力と同じ形式である場合(入力で括弧を使用しなかった場合は、リーダーが配列のペアであることをリーダーが認識できるように、ある種の記号を使用する必要があります) テストケース (1,2,3,4,5,5,6,7) =((4,6),(5,5),(3,7)) (1,2,3,4,5) = () (5,5,5,5,5) = ((5,5),(5,5)) (1,2,3,3,4,5,6,7)=((3,7),(4,6)) (9,8,7,6,4,4,3,1)=((9,1),(7,3),(6,4)) 幸運を! shorter答えは、より良い、です! 編集1:コメントからルールとテストケースを更新する 編集2:入力の形式を定義するためのルールを更新します。 編集3:ルールを更新して出力の形式を定義します。可能な限り対応しようとしています。
8 code-golf 

9
稼働週の完了
私は標準的な9から5まで働きます。月曜日から金曜日まで。昼食は12時30分から13時まで30分。 実行すると、現在の週に完了した稼働週のパーセンテージを計算するプログラムを書いてください。 ルール 実際に作業に費やした時間のみをカウントします。私は時間厳守で昼食をとりません。 入力なし。現在の日時などの情報を取得できますが、便利です。 稼働週は、金曜日の終わりから日曜日と月曜日の真夜中に完了すると見なされます。 タイムゾーンはローカルタイムゾーンです。 出力は10進数である必要があります(例:66.25498、パーセント記号はオプション)。 プログラムは合理的に将来に対応できるものでなければなりません。うるう年にも対応できるはずです。 出力解像度は1秒以上である必要があります。やかんが沸騰するのを見るのが好きです。 コードゴルフ。最短のコードが勝ちます。

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

11
最短のコードでn番目のフィボナッチプライムを見つける
課題はかなり単純です。 正の整数nを入力として受け取ります。 nth番目のフィボナッチ素数を出力します。 入力は、関数へのパラメーターとして(および出力は戻り値になります)、またはコマンドラインから取得(およびそこに出力)できます。 注:組み込みの素数検査関数またはフィボナッチ級数ジェネレーターの使用は許可されていません。 幸運を!

20
ランレングスエンコーディングでテキストを短くする
ランレングスエンコーディングを使用してテキストを短くする(または短くする) 入力: heeeello うーん 出力: 1h4e2l1o 1w4o1r1l1d stdinから行を読み取ります。 stdoutに出力します。 Stderrはもちろん破棄されます。 非表示のテストケースがあると仮定します(出力の埋め込みなし) ASCIIとしての入出力 すべての言語が受け入れられます
8 code-golf 

6
ASCII荒野マップを生成する[終了]
休業。この質問には詳細または明確さが必要です。現在、回答を受け付けていません。 この質問を改善してみませんか?詳細を追加し、この投稿を編集して問題を明確にしてください。 5年前休業。 ASCII荒野マップを生成します。 出力例: ................^^^^ ..................^^ ...^^^^........o.... .....^^^^........... .................... ........o....TT..... ..TTTT.............. TTTT.TTTT....~~~~~~. ..TT..........~~~~~~ .................... 反例(これを行わないでください): .................... ...........T........ ...^..........oo.... ......^............. .................... ..............TT.... T.T.T.T.T........T.. .................T.. T.T.T.T.T..........T ..............TT...T ルール: サイズが20x10文字以上である必要があります 実行ごとに異なる、つまりランダムでなければならない 木「T」、丘「^」、水「〜」の連続したさまざまな形状の領域が含まれている必要があり、そのほとんどが5つ以上のセルで構成されている必要があります デフォルトのグラウンド文字は「。」です。 通常互いに隣接していない少なくとも2つの村「o」を含む必要があります 長方形や等間隔の領域などの明らかなパターンを含めないでください-「自然な見た目」が重要です ルールが守られていることを明示的にチェックする必要はありません(たとえば、四角形のロジックは必要ありません)。ただし、実行の大部分(80%など)は一致する結果を生成する必要があります。 提出時に、出力例を含めます 得点: 勝者は公式からのスコアが最も低い:code character count-votes

13
「Hello!」を出力するプログラムを出力するプログラムを出力するプログラム
チャレンジ 次のような最短のプログラムPを記述します。 Pは任意の正の整数nを入力として受け取り、プログラム文字列P 1を出力します。 P 1(入力なし)を実行すると、プログラム文字列P 2が出力されます。 P 2(入力なし)を実行すると、プログラム文字列P 3が出力されます。 ... P n(入力なし)を実行すると、正確に "Hello!"が出力されます。(引用符なし)。 概略的に: P(n)→P 1 →P 2 →...→P n →こんにちは! 基準 I / Oはstdin / stdout経由です。 プログラムの長さはバイト単位で測定されます。 プログラムは、ASCII印刷可能文字のみで構成されています。 プログラムP、P 1、...、P n間で重複があってはなりません。 編集:プログラムP、P 1、...、P nはソースコードであることを意味し、「プログラムの実行」とは、出力を生成する処理(つまり、解釈、コンパイル、実行など)を指します。
8 code-golf 

18
スクエアフリーのセミプライムカウント
定義 平方のないセミプライムは、2つの異なる素数の積である自然数です。 タスク 自然数が与えられたn場合、に等しいかそれ以下のすべての正方形のないセミプライムを数えますn。 細部 単一の整数パラメーターを受け入れ、そのパラメーター以下の正方形のないセミプライムをすべてカウントする関数またはプロシージャーを記述してください。カウントは、関数呼び出しの戻り値であるか、STDOUTに出力される必要があります。 得点 最も少ない文字数の答えが勝ちます。 同点の場合、次の基準が順番に使用されます。 一番高い人 最高の時間の複雑さ 最悪のスペースの複雑さ 例 f(1) = 0 f(62) = 18 f(420) = 124 f(10000) = 2600

12
追加、昔ながらの方法
概要 古代ローマ人は、ラテン文字を使用した数体系を考案しました。これは、それらを十分に機能させ、現在の文明ではまだ使用されていますが、程度ははるかに小さいです。ローマ人は、その使用時に、多くのアプリケーションで非常に役立つようにするために、これらの数値の使用と操作を学ぶ必要があったでしょう。たとえば、男性が35頭の牛を所有していて、さらに27頭を調達した場合、それらをすべて数える以外に、新しい合計をどのようにして知るのでしょうか。(そうですね、そろばんを使って...)ローマ人ができるなら、きっと私たちもそれを理解することができます。 目的 2つのローマ数字 を加算し、どちらかの入力の文字列表現を数値に変換せずに結果を出力する、最も短いアルゴリズム/関数/プログラムを記述します。 規則/制約 書式設定における歴史的/中世以前の不整合のため、正書法に関するいくつかの非標準(現代の使用法による)規則の概要を説明します。例として、以下のバリューガイドをご覧ください。 I、X、C、およびMの文字は、連続して4回まで繰り返すことができますが、それ以上繰り返すことはできません。D、L、およびVを繰り返すことはできません。 ローマの表現で別の文字のすぐ右側にある文字は、左側の文字と同じか、それよりも小さい値になります。 言い換えれば、VIIII == 9しかしIX != 9、そして無効/許可されていません。 すべての入力値は2,000(MM)以下になります。Mより大きい数値を表す必要はありません。 上記のルールに従って、すべての入力値は有効なローマ数字になります。 ソリューションの一部として、数値を10進数、2進数、またはその他の数値システムに変換することはできません(そのような方法を使用して結果を検証することはできます)。 これはコードゴルフなので、最短のコードが勝ちます。 バリューガイド Symbol Value I 1 II 2 III 3 IIII 4 V 5 VIIII 9 X 10 XIIII 14 XXXXIIII 44 L 50 LXXXXVIIII 99 C 100 D 500 M 1,000 例 …

2
BWInf 2011、質問5:ツインタウン
これは、もともとドイツ語TASた課題ですBundeswettbewerb Informatikは(コンピュータサイエンスの連邦競技[?])、高校生のための競争。元の質問とは対照的に、適切な解決策を見つけてドキュメントを作成する必要がある場合は、これを利用してほしい。私は質問をできるだけよく再現するようにしています: チャレンジ ヨーロッパの多くの町には、いわゆるツインタウンがあります。今年は特別なジュビリーがあり、EUのツインタウンの各ペアがパートナーシップを祝うフェスティバルを開催します。どの都市でも多くのフェスティバルを開催する必要がないようにするために、各都市には主催できるフェスティバルの数に制限があります。ツインタウンの各ペアが1つのフェスティバルを2つのタウンに1つずつ編成し、どのタウンも許可されているよりも多くのフェスティバルを編成しないように、ツインタウンにフェスティバルを分配することは可能ですか?はいの場合、その方法を説明します。 これは、いくつかの町、そのパートナーシップ、およびフェスティバルの限界の地図です。 パートナーシップhttp://dl.dropbox.com/u/1869832/partnerships.png 必要条件 プログラムは、両方のテストケースでそれぞれ1分で問題を終了する必要があります。(下記参照) 入力形式については、テストケースを参照してください。 解決策がない場合、出力は空である必要があります。それ以外の場合は、次の形式になります。フェスティバルを開催するa場合は、ツインタウンのペアごとに1行。city1b <city1>, <city2>, <a/b> 要件を満たす最小の文字数のソリューションが優先されます。引き分けの場合、最初に提出されたプログラムが優先されます。 通常のコードゴルフ規則が適用されます。 テストケース 元のタスクには2つのテストケースがありました。githubにアップロードしました。

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