タグ付けされた質問 「ascii-art」

この課題には、テキスト文字をペイントとして使用して画像を作成または解析することが含まれます。通常、これは1963年からのASCII標準で定義された(合計128から)95の印刷可能な文字のみを使用します。

1
ジョリーゲリマンダリング
バックグラウンド 米国には、ゲリマンダリングに対する独特の愛情があります。特定の投票結果を予測するための選挙区の意図的な操作です。つい最近、最高裁判所に持ち込まれたゲリマンダー事件がありました。ジェリーマンダリングは、特に人種に関連する場合、違法と判断され、地区の路線を変更する必要が生じます。 自治体の長方形の地図(2次元配列)を指定すると、地区の線を描画して、パーティが最も表現しやすくなります。つまり、ゲリマンダーになります。すべての自治体には2つの政党が0あり1ます。マップは、いずれか0または1その上の正方形で構成されます。以下にマップの例を示します。 チャレンジ マップを地区にグループ化して、1パーティが少なくとも入力で指定された地区の数を取得できるようにします。 入力 入力は、マップ、描画する地区の数、および1パーティーが勝つ必要がある地区の最小数(最小スコア)で構成されます。 出力 出力は、地区の地図になります。各地区はアルファベットの大文字で一意に構成されます。はい、これは26以上の地区がないことを意味します。 入力されたパーティが十分な地区に勝つ可能性のある出力がない場合、次のいずれかです 印刷してみました... 選挙結果により党が取り返しのつかないほど負傷したため、致命的なエラー または両方 ルール(非常に重要) すべての地区は連続している必要があります 地区には他の地区がない場合があります 各地区には、少なくとも4つのノードが必要です。入力はルールと一致します。つまりnumber_of_districts * 4、マップには少なくともノードがあります。 各政党のスコアは、政党が過半数を占める地区の数です 地区の0sと1sの数が同じ場合、どちらの当事者もその恩恵を受けません 通常の不正行為のルール これはcode-golfなので、バイト単位の最短コードが優先されます。 テストケース 1. Input 1. Output 2. Input 2. Output 3. Input 3. Output districts: 5 Image and map districts: 3 Image below districts: 3 fatal error min …

3
無駄のない、平均的な豆の機械
離散確率分布の概念を人々に紹介する古典的な例は、Beanマシンです。このマシンには、上部の狭い通路から大量のビー玉が落下し、その後、インターレースピンの列にヒットします。各ピンでビー玉がヒットすると、ピンの左右に落ちる場合があります。最後に、ピンはマシンの下部にある垂直ビンに集められます。このマシンの簡単な図は次のようになります。 | O | | ^ | | ^ ^ | | ^ ^ ^ | | ^ ^ ^ ^ | | ^ ^ ^ ^ ^ | |_|_|_|_|_|_| この図では、Oはビー玉が落ちる場所を示しています。それぞれ^は、大理石がピンの左または右のいずれかの正方形に移動する確率が50%であるピンです。次に、ビー玉はデバイスの下部のビンに集まります。十分な数のビー玉の場合、ビン内のビー玉スタックの高さは離散的な二項分布に似ています。 チャレンジ この課題では、上記のような図に基づいて、Beanマシンの結果の確率分布を計算します。図は、側面のフィールドまたは現在のフィールドの下のフィールドに向かって、ビー玉が通過する2次元の「プログラム」として解釈されます。ビー玉が機械の底に達すると、確率分布としてカウントされます。面白くするために、これらの図には、単純なソースとピン以外のフィールドがいくつか含まれています。ダイアグラムの例は次のとおりです。 | O | | ^ | | ^ / | | ^ | ^ | | <^- …

30
入力への斜めのアルファベット
この投稿に触発されました。この質問を重複としてマークしている場合は、実際に質問を読んで、私の質問がリンクされた質問の修正であることを確認してください。リンクされたものは入力を要求せず、アルファベットを斜めに印刷するだけです。 チャレンジ 1〜26の範囲の入力を指定すると、アルファベットを斜めに印刷しますが、指定した入力のインデックスで垂直に印刷を開始します。 例 入力が与えられた場合: 16 プログラムは以下を出力するはずです。 a b c d e f g h i j k l m n o p q r s t u v w x y z 入力: 4 出力: a b c d e f g h i j k l m n …

7
旗を振ります
このようなフラグを取ります: ----------------------------- | | | | | | |=============+=============| | | | | | | ----------------------------- そして、数値入力:「波長」 波長が5だったとします。次に、先頭から行に沿って5文字ごとに、次の文字a -を置き換え、\1行下のすべての文字をシフトします。これを最後まで繰り返します。次のようになります。 -----\ | -----\ | -----\ |===== | -----\ | ====== | ----- | ==+=== | -----\ | ====== | -----\ | ====| -----\ | -----\ | ----- 最後に完全な波長を作成できない場合、フラグは終了します。最後まで平らにしてください。 すべての行が同じ長さで、上部と下部の行が完全に-(0x2D)で構成され、残りの文字がに!"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~あるか、スペース()であると想定できます。(つまり、ASCII値はでx、ここで31 < x …

6
ASCIIケイリーグラフ
私が定式化している別の挑戦のためにいくつかの研究をしている間、私はケイリーのグラフ、特にこれに出会いました。私はアスキーアートチャレンジのトップ ライターの1人なので、このためにASCIIアートチャレンジをする必要がありました。 あなたの課題は、次のように2つのジェネレーターでフリーグループのケイリーグラフのこのASCIIアート描写を作成することです。 + +++ + | + ++-+-++ + | + + | + +++ | +++ + | | | + ++-+----+----+-++ + | | | + +++ | +++ + | + + | + +++ | +++ + | + | + | + ++-+-++ | …

25
ピジョンホールの原理とコードゴルフ
鳩の巣原理と述べています N > Mの場合、N個のアイテムをM個のボックスに入れる場合、少なくとも1つのボックスに複数のアイテムを含める必要があります。 多くの人にとって、この原則は他の数学的発表と比較して特別な地位にあります。EWダイクストラが書いたように、 それはいくつかの神秘に囲まれています。それを使用する証明は、しばしば特別なもの、特に独創的なものと見なされます。 チャレンジ この課題の目的は、ASCIIアート表現を使用して鳩の巣の原理を説明することです。具体的には: 入力N(アイテムの数)およびM(ボックスの数)として、N非負とM正を取ります。Nより小さい場合がありますM(その場合、原則が適用されない場合でも)。 ボックスへのアイテムの可能な割り当ての1つをランダムに選択します。各割り当てには、選択される確率がゼロ以外である必要があります。 次のように、割り当てのASCIIアート表現を作成します。 M行があり、それぞれがボックスに対応しています。 各行は、などの非空白文字で始まり|ます。 その文字に続いて、などの別の非空白文字が続き#、そのボックス内のアイテムの数だけ繰り返されます。 たとえばN = 8、考慮してくださいM = 5。ボックスへのアイテムの選択assigmentである場合に4、1、0、3、0、表現であります |#### |# | |### | 同じプログラムの異なる実行(異なる割り当てをもたらす)は、 |# |## |# |# |### 表現に関してある程度の柔軟性があります。下記参照。 特定のルール コードはおよびの値に対して理論的に実行する必要がNありMます。実際には、メモリサイズまたはデータ型の制限によって制限される場合があります。 出力を観察するだけでは、すべての割り当てにゼロ以外の確率があるかどうかを判断するのに十分ではないため、各サブミッションでは、コードがどのようにそれを達成するかを説明する必要があります。 次の表現バリエーションが許可されます。 異なる非空白文字の任意のペアを選択できます。これらは、プログラムの実行全体で一貫している必要があります。 リプレゼンテーションの90度回転は許容されます。繰り返しますが、選択は一貫している必要があります。 末尾または先頭の空白は許可されます。 異なる表現形式と、のための一例としてN = 15、M = 6プログラムの2つの実行の結果は、可能性が VVVVVV @@@@@@ @@ @@@ @ @@ @ …

8
配列を視覚化する
任意の深さの配列を指定して、+-|各サブ配列の周囲の境界線でその内容を描画します。これらは、プラス、マイナス、および垂直パイプのASCII文字です。 たとえば、配列がの場合[1, 2, 3]、描画 +-----+ |1 2 3| +-----+ のようなネストされた配列の場合[[1, 2, 3], [4, 5], [6, 7, 8]]、draw +-----------------+ |+-----+---+-----+| ||1 2 3|4 5|6 7 8|| |+-----+---+-----+| +-----------------+ のような不規則な配列の場合[[[1, 2, 3], [4, 5]], [6, 7, 8]]、draw +-------------------+ |+-----------+-----+| ||+-----+---+|6 7 8|| |||1 2 3|4 5|| || ||+-----+---+| || |+-----------+-----+| +-------------------+ 描画後、より多くのスペースがあることに注意してください[6, …


10
4ウェイ交差点ジェネレーター
以下は、4方向の交差点のASCIIアートです。 | | | | | | | | | | | | | -----+-----+----- | | - - -| |- - - | | -----+-----+----- | | | | | | | | | | | | | (水平道路の高さが3行で、垂直道路の幅が5列であることに注意してください。これは、四角形のフォントのために、審美的な理由からです。) あなたの課題は、このASCIIアートを作成することです。ただし、ご存知のとおり、すべての交差点にすべての方向に走行する道路があるわけではありません。この特定の交差点は行くがNESW、いくつかの交差点は行くかもしれない、例えばNW: | | | | | | | | | …

28
ASCIIテーブルをASCIIテーブルとして再作成します
コードゴルフをしている間、特定の文字のASCII値が何であるかを知りたいと思うでしょう。印刷可能なすべてのASCII文字をすばやく検索するための私のお気に入りのリソースの1つは、ASCIItable.comです。これには、印刷可能なASCII文字とその値だけでなく、印刷できない文字と拡張文字、および16進数、8進数、HTMLの値も表示する、本当に素晴らしい画像があります。 今日の課題は、そのASCIIテーブルをイメージではなくASCIIテーブルとして再作成することです。物事を簡単にするために、制御文字(32未満の文字)は使用せず、10進値と文字のみを表示します。言い換えれば、あなたの課題は、次のテキストを印刷または返すフルプログラムまたは関数を書くことです。 Dec Chr | Dec Chr | Dec Chr ---------------------------------- 32 Space | 64 @ | 96 ` 33 ! | 65 A | 97 a 34 " | 66 B | 98 b 35 # | 67 C | 99 c 36 $ | 68 D | 100 …

18
でこぼこのひもを描く
(この挑戦に触発された。) stringがあるとしましょうABBCBA。私たちは、間に上昇があることを言うことができるAとBするために、B次のA。我々は、間に実行があることを言うことができるBとB何が変わるため、。そして最後に、私たちは間に秋があると言うことができるCとはB。このようなグラフを描くことができます: A B B C B A Rising: o o Continuing: o Falling: o o ラベルなしで、空白を最小化: o o o oo これは、inputの期待される出力ですABBCBA。 o出力では、空白文字以外の文字を使用して置換できます。さらに、各列には、オプションで次のように余分なスペースがあります。 o o o o o 入力は少なくとも3文字で構成されます。文字列は完全に大文字で構成されますが、代わりに小文字を使用することもできます。 テストケース TEST CASE LINE 1 LINE 2 LINE 3 HELLOWORLD o oo o o o o oo TESTCASE oo o o …

22
ASCIIアートの反映
この課題では、テキストブロックが与えられ、テキストのリフレクションを実行する必要があります。 入力: 反映される文字列。テキストは、要素がテキスト行である配列として提供されない場合があります。例えば、"ab\ncd"および['a','b','\n','c','d']許可されているが、['ab','cd']か[['a','b'],['c','d']]ではありません。すべての行が同じ文字数(必要に応じて空白が埋め込まれる)であると想定できます。 TrueY反射をFalse示し、X反射を示すブール値 2つの入力は任意の順序で渡すことができます。 出力: 反映された文字列。文字は変更されず、位置のみが変更されます。結果の画像ブロックは左上に揃える必要があります(最初の行と列にはそれぞれ空白以外の文字が含まれている必要があります)。(任意の行の)末尾の空白は許可されます。 テストケース: False o / --|/ | / \ / o /|-- | \ / True o / --|/ | / \ / \ | --|/ o / True text text False text txet True P P C G G C P P False …

8
日付をxkcd表記に変換します
ISO 8601標準日付形式についての彼のxkcd で、ランドールはかなり奇妙な代替表記法を隠しています。 大きな数字はすべて通常の順序で現在の日付に表示される数字であり、小さな数字はその数字の出現の1から始まるインデックスです。したがって、上記の例はを表し2013-02-27ます。 そのような日付のASCII表現を定義しましょう。最初の行にはインデックス1〜4が含まれます。2行目には「大きい」数字が含まれます。3行目には、インデックス5〜8が含まれます。1つのスロットに複数のインデックスがある場合、最小から最大の順に並んで表示されます。m単一のスロット(つまり、同じ桁、同じ行)に多くてもインデックスがある場合、各列はm+1文字幅で左揃えにする必要があります。 2 3 1 4 0 1 2 3 7 5 67 8 逆の変換については、コンパニオンチャレンジもご覧ください。 チャレンジ ISO 8601日付(YYYY-MM-DD)を指定すると、対応するxkcd日付表記を出力します。 プログラムまたは関数を作成し、STDIN(または最も近い代替)、コマンドライン引数または関数引数を介して入力を取得し、STDOUT(または最も近い代替)、関数の戻り値または関数(out)パラメーターを介して結果を出力できます。 から0000までの任意の年9999が有効な入力です。 末尾のスペースは許可されますが、先頭のスペースは許可されません。オプションで、単一の末尾の改行を出力できます。 標準のコードゴルフ規則が適用されます。 テストケース 2013-02-27 2 3 1 4 0 1 2 3 7 5 67 8 2015-12-24 2 3 1 4 0 1 2 4 5 5 …

3
自分でビールを飲む
それは金曜日だ!つまり、ビールの時間です! 残念ながら、今日はビールを飲む代わりにゴルフをします。:( チャレンジ ビールを出して飲む。一口飲む量によって出力が変わります。 一口 プログラムは1つの入力文字列を受け取る必要があります。この文字列は、連結されたsips のみで構成できます。 入力が空の文字列である場合、泡を含む完全なビールグラスを出力する必要があります。 一口飲むほど、ビールグラスは空っぽになります。 一口飲むと、ビールにはまだ泡が残っています。このフォームの出力は常に同じです(例を参照)。 1口飲む場合は、ビールグラスを出力し、その後に改行と文字列を出力する必要がありますYuck, foam.。 1杯以上飲むと、ビアグラスに泡が含まれなくなり、グラスの上部が見えるようになります。泡を飲むことは一口としてカウントされます。 6杯以上飲む場合は、空のビールグラスを出力し、その後に改行と文字列を続けますBurp。 飲むたびに、ビールのグラスが空になります。ビールグラスの充満度は、ビールの泡の量°(°)によって異なります。あなたが泡の後に取る一口ごとに、泡のラインを削除する必要があります。ビールの各ラインには、最小1と最大の5バブルを含めることができます。これらのバブルの位置は100%ランダムでなければなりません。 例 入力 empty input string, or no input at all 出力 oo o oo oooooooooooo o| ° ° |\ | ° | \ | °° ° |} | | ° ° | / | ° …

5
ASCIIドラゴンの曲線
前書き ドラゴンの曲線は、特にジュラシックパーク小説のセクションのタイトルページに表示されるフラクタル曲線です。 この曲線についてのウィキペディアの記事で説明されているように、それは非常に簡単に紙のストリップを折り畳むプロセスとして記述することができます。 この曲線の生成の最初の数回の反復は次のようになります(画像についてはWikipediaの功績による)。 チャレンジ 入力として整数nが与えられる_と、シンボルと| |、_およびスペースのみを使用して図を出力する必要があります。曲線をプロットなどとして出力することはできません。 入力をプログラム引数として、STDINで、または関数パラメーターとして受け取ることができます。 入力は常に0以上の整数になります。プログラムは適切な入力値で動作するはずです。テストケースでは12が最高です。 最初の反復は次のようになります 反復0は _ 反復1は _| 反復2は |_ _| 最後の末尾の行は大丈夫です。曲線の右端の文字まで行を埋める以外に、後続のスペースは許可されません 通常の標準的な抜け穴の悪用はありません テストケース 入力 0 出力 _ 入力 3 出力 _ |_| |_ _| 入力 5 出力 _ _ |_|_| |_ _ _| _| |_|_|_ |_|_| |_ _| |_| 入力 10 出力 _ …

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