タグ付けされた質問 「crossword」

チャレンジがクロスワードパズルに関連していることを示します。

9
文字列をひっかく
スナックされた文字列は次のようになります。 T AnE eOf ifi ing h s x l A k e r isI amp Sna dSt あなたのタスク 文字列sとサイズをn取得し、スナックされた文字列を出力します。入力しThisIsAnExampleOfaSnakifiedString、3上記の例を生成します。 仕様書 s コードポイント33から126までのASCII文字のみが含まれます(スペースや改行は含まれません)。 s 長さは1〜100文字です。 n各出力文字列セグメントのサイズを表す整数です。「蛇」の曲線を構成する文字の各行(上/下または左/右)はn文字です。例については、テストケースを参照してください。 n 3〜10になります。 出力文字列は常に下向きになります。 各行の末尾のスペースは許可されます。 出力の最後にある末尾の改行も使用できます。 先行スペースは使用できません。 code-golfは、バイト単位の最短コードが勝つことを意味します。 テストケース a 3 a ---------- Hello,World! 3 H Wor e , l llo d! ---------- ProgrammingPuzzlesAndCodeGolf 4 …
35 code-golf  string  ascii-art  code-golf  code-golf  string  balanced-string  decision-problem  code-golf  string  geometry  grid  code-golf  tips  lisp  code-golf  quine  tips  king-of-the-hill  code-challenge  math  code-golf  string  palindrome  math  fastest-code  code-golf  string  counting  code-golf  code-golf  internet  code-golf  quine  source-layout  hello-world  code-golf  math  number  sequence  arithmetic  code-golf  ascii-art  grid  code-golf  number  grid  code-golf  string  crossword  code-golf  code-golf  ascii-art  grid  counting  code-golf  code-golf  math  sequence  arithmetic  number-theory  code-golf  code-golf  graphical-output  geometry  random  code-golf  ascii-art  grid  counting  code-golf  string  ascii-art  code-challenge  test-battery  code-golf  string  code-golf  ascii-art  kolmogorov-complexity  code-golf  interpreter  code-golf  math  sequence  code-golf  math  primes  set-partitions  code-golf 

30
賢い人のMira気楼
むかしむかし、Quoraでこの質問/回答を読んでいた FizzBu​​zzテストに合格できないコンピューターサイエンスの学位を持つプログラマーは本当にいますか このコードは明白な答えとして与えられます for i in range(1, 100): if i % 3 == 0 and i % 5 == 0: print "FizzBuzz" elif i % 3 == 0: print "Fizz" elif i % 5 == 0: print "Buzz" else: print i もちろん、FizzBu​​zzは死ぬまでゴルフにかけられましたが、それはこの質問の目的ではありません。あなたはコメントで、4の倍数の印刷「ジャズ」などの追加条件を簡単に追加できるので、この明白な答えは素晴らしいと誰かが言及していることがわかります(同意しません。このスキームを拡張するにはO(2 ** n )コード行。) あなたの挑戦は、仲間によって判断されるようにFizzJazzBuzzの最も美しいバージョンを書くことです。 投票者が考慮すべき事項: ドライ 除算/モジュラス演算の効率 Quoraに関する回答の多くはPythonを使用していましたが、ここではそのような言語の制限はありません。 …
29 popularity-contest  code-challenge  word  popularity-contest  string  grid  language-design  code-golf  source-layout  math  fastest-algorithm  assembly  code-golf  json  code-golf  arithmetic  array-manipulation  code-golf  ascii-art  code-golf  crossword  code-golf  string  restricted-complexity  code-golf  ascii-art  kolmogorov-complexity  code-golf  string  decision-problem  balanced-string  syntax  code-golf  grid  puzzle-solver  hexagonal-grid  code-golf  math  number  sequence  code-golf  string  decision-problem  code-golf  cryptography  king-of-the-hill  code-challenge  fastest-code  code-golf  number  code-golf  code-golf  string  code-golf  cryptography  king-of-the-hill  java  code-golf  number-theory  base-conversion  code-golf  code-golf  array-manipulation  code-golf  array-manipulation  sorting  code-challenge  restricted-source  quine  code-golf  tips  python  king-of-the-hill  code-golf  source-layout  fractal  code-golf  tips  game  king-of-the-hill  path-finding  grid  code-golf  kolmogorov-complexity  natural-language  code-golf  tips  python  code-golf  number  arithmetic  sequence  array-manipulation  code-golf  number  combinatorics  random  integer-partitions  code-golf  string  code-golf  vim  comment  code-golf  combinatorics  counting  code-challenge  rosetta-stone  code-golf  combinatorics  sequence  subsequence  code-golf  code-challenge  restricted-source  primes  printable-ascii  popularity-contest  graphical-output  image-processing 

7
コードクロスワード
これは警官と強盗の挑戦です。あなたが警官(クロスワードメーカー)である場合はここに答え、強盗(クロスワードソルバー)であればコンパニオンの質問に答えてください。両方の役割を引き受けることができます。 警官(パズル) あなたの仕事は、10×10のクロスワードパズルを書くことです。ここでは、単語やフレーズの代わりに、コードの断片が手がかりの解決策になります。各手掛かりは、それが参照するコードのスニペットを実行するとシーケンスが標準出力に出力されるように、文字の空でないシーケンスになります。 投稿には次の3つが含まれている必要があります。 あなたの空白の 10×10クロスワードグリッド、使用#のための明暗(手掛かりセパレータ)と_のためにライト(セルに充填されます)。 2つ以上のライトの水平または垂直のシーケンス(暗部またはグリッドエッジで囲まれている)はすべて、ヒントを書く必要があるエントリです。便宜上_、各エントリの先頭を一意の文字識別子(1、2、...、A、Bなど)に置き換えて、通常の方法(左から右、上から下)で番号を付ける必要があります、...)。 グリッドには任意の数のダークが含まれる場合があります。 グリッドにはいくつもの手がかりがあります。 水平エントリは常に左から右に、垂直エントリは上から下に読み込まれます。 クロスワードのすべてのエントリを含む手がかりのリスト。 手がかりには、少なくとも1〜10文字を含める必要があります。 手がかりにスペースが含まれている場合は、投稿をフォーマットするときにそれらが明白であることを確認してください。 ヘッダーとフッターのコードスニペット、それぞれ20文字以下。 これらは、ソリューションスニペ​​ットの前後でそれぞれ実行され、長いビルトインなどの名前を変更するのに役立ちます。 手がかりが対応するコードスニペットと一致するようにする手順は次のとおりです。 ヘッダー、スニペット、およびフッターを連結します[header][snippet][footer]。 これを通常のプログラム(過去の実行とは無関係)として実行し、stdoutに出力されたものを確認します。 これが手がかりと一致する場合、スニペットは有効なソリューションです。 簡単にするために、印刷可能なASCII(16進コード20〜7E)のみを使用できます。ヘッダーとフッターだけにタブと改行を含めることもできます。 その他の注意事項 どのスニペットで[header][snippet][footer]も、最新のコンピューターで実行するのに1分以上かかることはありません。 プログラミング言語(およびバージョン)を指定する必要があります。 一般的なハッシュアルゴリズムは使用できません。 外部ライブラリを使用することはできません。 コード内のすべてのものは決定論的で、時間不変でなければならず、ネットワーク接続を必要としません。 #そして、_スニペット(またはどこか他の)で発生する可能性があります。 COTOが行ったように、クロスワードでいくつかのキャラクターを明らかにすることができます。それらはまだライトとしてカウントされます。強盗はこれらを使用する必要はありません、彼らはちょうどいいヒントです。 例 Python 3を使用した簡単な例。ヘッダー:p=print;t=5;。フッターなし。 未解決のグリッド: ########## 1___2___## _###_##### _###_##### _###_##### ####_##### ####_##### ###3______ ####_##### ####_##### 手がかり: ACROSS 1: 8 3: A! DOWN 1: …

2
手がかりのないユニークに解けるクロスワードを作成します…
ニューヨークタイムズのクロスワードパズルを手がかりなく解くことを想像できますか?おそらく、すべての創造性と新しいクロスワードに登場する新しい単語やフレーズではなく、単語リストを固定することでいくつかの希望があります。この課題では、理論上可能なクロスワードパズルグリッドを作成します。 チャレンジ 白と黒の陰影の付いた15x15クロスワードパズルグリッド内の白い四角の数を最大化して、白い四角に文字を一意に入力して、スクラブルの国際的な単語リストにすべての上下の単語が表示されるようにします。 グリッド構築の説明 米国の新聞では、クロスワードグリッドは通常、すべての文字が「チェック」されるように構築されます。つまり、「クロス」ワードと「ダウン」ワードの両方の一部です。英国およびその他の地域(特に不可解なクロスワード)では、これは必ずしも当てはまりません。「横切る」または「下」の単語が1文字だけの場合、実際の単語(「A」や「I ")。この課題では、より緩和されたルールに従います。1文字の単語は単語リストに表示する必要はありません。 他にもさまざまな伝統があり(米国およびその他の地域)、この挑戦​​で従う必要はありません。たとえば、単語の長さは2文字のみで、単語の繰り返しが許可されているため、グリッドは(回転)対称である必要はありません。 これも可能ですか? はい!短いスクリプトを記述して、左側の次の空白グリッドに対する一意のソリューションが右側の塗りつぶされたグリッドであることを確認できます。 次のように、コンピュータが読み取り可能な形式で塗りつぶされたグリッドを表示できます。 ###CH########## ###YE########## ###AM########## CYANOCOBALAMINE HEMOCHROMATOSES ###CH########## ###OR########## ###BO########## ###AM########## ###LA########## ###AT########## ###MO########## ###IS########## ###NE########## ###ES########## あなたのソリューション 上のグリッドには、15x15グリッドの合計225個の正方形のうち56個の白い正方形があります。これは、この課題のベースラインとして機能します。また、白い正方形の数が少ないグリッドは、スコア以外の理由で、たとえば上記の美的伝統のいくつかを満たしている場合に興味深いかもしれません。 上記のコンピューター読み取り可能なベースラインと同じ形式でソリューションを送信してください。グリッドに独自のソリューションがあることを確認するコードを含めてください。 興味深いコードスニペット(たとえば、可能性のあるスペースを検索するため)や、グリッドを見つけた方法についての議論を歓迎します。 単語リスト 国際的なスクラブルワードリストは、以前はSOWPODSとして知られており、現在はコリンズスクラブルワード(CSW)と呼ばれています。ほとんどの国(特に米国を除く)で使用されています。このリストには、英国の綴りが含まれており、一般的にアメリカの単語リストよりもかなり多くの単語があるため、このリストを使用することを好みます。このリストには、わずかに異なる複数のエディションがあります。このリストのさまざまなバージョンは、Wikipedia、Github、Peter NorvigのNatural Language Corpusなどでリンクされており、多くの場合「SOWPODS」と呼ばれています。 この課題は、単語リストの選択の幅広い性質に非常に敏感ですが、小さな詳細にはそれほど敏感ではありません。たとえば、上記のベースラインの例はどのエディションのCSWでも機能しますCHが、アメリカのスクラブルの単語リストには含まれていません。矛盾がある場合は、CSWの最新版であるCSW19を使用することをお勧めします。(今年リリースされたこのリストを使用すると、この課題に対する回答がより長く有効であると期待できます)。このリストは、公式のScrabbleワードファインダーサイトで対話形式でクエリするか、Board&Card Games Stack ExchangeまたはRedditのr / scrabbleから(前のバージョンのCSW15と同様に)ダウンロードできます。 Tldr:このチャレンジの信頼できる単語リストは、Board&Card Games Stack Exchangeでプレーンテキストファイル(279,496単語、1行に1つ)として入手できます。 さらなる議論 初期の回答とコメントで提起された問題の1つは、既存のクロスワード(NYTなど)がこの質問に答えない理由です。具体的には、公開されたNYTクロスワードの最小数の黒い正方形(したがって、最大数の白い正方形)のレコードは、クロスワードで最も有名なレコードです。レコードグリッドを使用できないのはなぜですか?いくつかの問題があります。 NYTクロスワードの回答の多くは、単語リストに載っていません。たとえば、レコードグリッドには、PEPCID(ブランド名)、APASSAGETOINDIA(スペースなしで記述された映画と小説の4単語の固有名)、およびSTE(「Sainte」の略語)が含まれます。レコードグリッドはスクラブルの単語では解決できないようです。 単語リストを拡張して単語を追加するだけでは、必ずしもこの課題に役立ちません。レコードグリッド内のすべての単語が単語リストに表示されたとしても、解決策は手がかりがないと一意ではありません。多くの場合、すべての単語を保持しながら、回答の最後にある文字を変更することが可能です。(たとえば、右下の文字はa DからR。に変更できます。)実際、これは、クロスワードを作成して「より良い」単語を取得しようとする(人間の)構築プロセスの一部です。 通常のクロスワードが(通常)独自の解決策を持っている理由は、手がかりが正しい答えを絞り込むのに役立つからです。手がかりを使わずに単にグリッドを単語で埋めようとすると、可能性がないか、多くの可能性がある可能性があります。同じグリッド(NYTで比較的頻繁に使用されるもの)の3つの異なる塗りつぶし(このチャレンジの単語リストを使用)の例を次に示します。 …

2
チェーンワードクロスワードスタイル
チャレンジ 単語のリストが与えられた場合、["Programming", "Puzzles", "Code", "Golf"]クロスワードスタイルの単語を出力します。 プログラミング あなたは z z G l コード ls f アルゴリズム 指定された順序でリストを処理する必要があります。 単語は、水平方向から交互に印刷されます。 2つの単語は、2番目の単語にも存在する最初の単語の最初の文字で交差します。この文字がseond語で複数回出現する場合は、最初の文字を取ります。 例:に ["no", "on"]なります: o n o そしてありません n o n その他の注意事項 リスト内の隣接する単語には、少なくとも1つの共通の文字があります。["Hi", "there"]有効な入力ではありません。 言葉が衝突することはありません。最初の可能な交差点で単語を印刷するのに十分なスペースが常にあります。["Hello", "there", "end", "hello"]有効な入力ではありません マッチングでは大文字と小文字が区別されます。 単語は左および上に展開できます。 水平方向の単語の文字は、1つのスペースで区切る必要があります。 入力リストには少なくとも2つの単語が含まれます。 すべての単語が正規表現に一致します。 [A-Za-z]+ 単語が正しく連鎖している限り、末尾の空白または改行を必要な数だけ印刷できます。 一方、先頭に空白を追加することはできません。一番左に浮かぶ単語の先頭のスペースはゼロで、他の行の先頭スペースは非常に多いため、すべてが正しく並んでいます。 プログラムは、任意の量の単語を処理できる必要があります ルール 機能または完全なプログラムが許可されます。 入出力のデフォルト規則。 標準の抜け穴が適用されます。 これはcode-golfなので、バイト数が最も少なくなります。Tiebreakerは以前の提出です。 テストケース …

1
正規表現の検証正規表現[終了]
閉まっている。この質問はトピック外です。現在、回答を受け付けていません。 この質問を改善したいですか? 質問を更新して、 Code Golf Stack Exchangeのトピックになるようにします。 去年閉鎖されました。 入力として正規表現文字列を受け入れ、それが有効かどうかを確認する正規表現を作成します。基本的に、正規表現はそれ自体を検証できるはずです。(無効な正規表現は検証されないため、使用できません.*。;) フレーバーは、よく知られている実装(Perl、sed、grep、gawkなど)によって完全にサポートされている必要があり、それらの実装がサポートするものを完全にサポートしている必要があります。[弁護士が話すことを心配しないでください。私は、スマート***の可能性のある抜け穴を削除しようとしています。] 私はそれをコードゴルフしたいと思いますが、機能が豊富ではないフレーバーを知って使用している人々に優位性を与えるのではないかと心配しています。または、私の心配は根拠がありませんか?
17 code-challenge  code-golf  code-golf  game  sudoku  code-challenge  math  ai-player  code-challenge  sorting  rosetta-stone  code-challenge  code-challenge  programming-puzzle  code-golf  number  code-golf  maze  code-golf  math  regular-expression  code-golf  sequence  code-golf  graph-theory  code-golf  string  word-puzzle  natural-language  brainfuck  metagolf  optimized-output  fastest-algorithm  code-golf  game-of-life  cellular-automata  code-golf  puzzle-solver  grid  code-golf  combinatorics  binary-tree  popularity-contest  code-challenge  code-golf  ascii-art  kolmogorov-complexity  brainfuck  metagolf  code-golf  c  date  code-golf  word-puzzle  crossword  word-search  code-golf  code-golf  quine  code-golf  string  random 

4
ワードサーチソルバー
単語のリストと文字のグリッドを指定して、グリッド内のすべての単語を検索し、どの単語にも属さない文字を削除します。単語は、前方、後方、上、下、斜めのいずれかです。グリッド内の複数の場所でリスト内の単語が出現しないと仮定することができます。 入力は常に次のようになります:単語のリスト、1行に1つ、その後に空白行、その後に文字のグリッドが続きます。 例 入力 ADA ALGOL ASSEMBLY BASIC COBOL DELPHI FORTRAN JAVA LABVIEW LOGO PASCAL PERL PHP PYTHON SMALLTALK VISUALC LLJKCABLFCI OROLOBOCOIM GELACSAPRSX LPSTAHWVTAV ANRLXLXQRBI IHPLEDOXAHS KJYAPHPYNOU FABMADANZJA EVISNOHTYPL AAYLBMESSAC WEIVBALOGOM 出力 LL K FC OR LOBOCOI GELACSAPRS LP T TAV A L RBI IHPLED A S J APHP N …

2
クロスワード強制!
不可解なクロスワード中毒者のクリスは、それらを解決する順序のアルゴリズムを設定しています。 上記の画像をガイドとして使用します。 クリスは常に最初の手がかりから始めます。この場合は1 Acrossです。クリスは有能なクロスワード愛好家なので、彼が取り組んでいる手がかりの答えを常に知っていると思われます。 クリスが手掛かりを完了すると、完了したものに隣接するすべての手がかり(最初のケースでは1ダウン、2ダウン、3ダウン)をチェックし、最も小さい番号の手がかりを完了します。隣接する手がかりがなければ、ステップ3に進みます。 手がかりが次の番号(ステップ3で説明)に横向きの手がかりと下向きの手がかりの両方がある場合、彼は最初に横向きの手がかりを完成させます(100%の確実性、OCDの境界線!) 隣接する手がかりがない場合、次の利用可能な手がかりに移動します(横または下)。 すべての手がかりが完了するまで、手順2から繰り返します。 親愛なるコーダー、これこそがあなた次第です。クロスワードテンプレートが提供されると、それを解決するためのChrisのアルゴリズムに基づいて、手がかりの順序を説明する出力を提供できるコードを作成する必要がありました。 コードは、クロスワードパズルテンプレートの入力を受け入れます。これは.、白い四角を表す形式と#黒い四角を表す形式です。 例: .....#......... .#.#.#.#.#.#.#. ...#...#....... .#.#.#.#.#.#.#. ....#.......... ##.#.#.#.#.#.#. ......#........ .###.#####.###. ........#...... .#.#.#.#.#.#.## ..........#.... .#.#.#.#.#.#.#. .......#...#... .#.#.#.#.#.#.#. .........#..... 入力は、a)クロスワードの表現のファイル読み取り、またはb)クロスワードの各行の行入力とそれに続く\n、\nEOFを示す2番目の入力によって行うことができます。 そして、Chrisが上記のアルゴリズムに従って解決する方法を決定します。 出力は、の形式の一連のコンマ区切りの命令の形式である必要がありますn(A|D)。ここnで、手がかり番号に続いてAforまたはDdownが続きます。 したがって、上記の例(画像とサンプルテンプレートの両方から1つが同じ)の場合、出力は次のようになります。 1A,1D,2D,3D,9A,10A,4D,5D,6D,7D,8D,11A,12A,13A,15A,14D,15D,16A,17A,18D,19D,20A,21D,23A,22D,24A,25D,27A,28A,26D,29A,30A,31A 最短のコードが勝つ... テスト中 コード、バイトカウント、.およびand #形式で表される4つのテストケースの1つ、およびこの入力から生成された出力を提出する必要があります。4つのテストケースがあり、以下の3つと上記のサンプルテンプレートがあります。 テストケースの例: テストケース1 .....# .#.#.# ...#.. .#.#.# .....# ##.#.. 出力: 1A,1D,2D,3D,4A,5A,6A,7A テストケース2 .....#.. .#.##..# .#....#. ...##.#. …

1
クロスワードをひねりながら読んでください!
この質問に似ていますが、これはクロスワードのバリエーションです! グリッドの正方形ごとに1文字だけではなく、1 つまたは 2つのを使用できます。 入力: 2次元配列、またはあなたの言語で機能するもの。 有効な入力を想定できます 任意の配列サイズが機能する必要があります 出力: すべての単語の配列 前後 すべての単語を結合する必要があります。つまり、切れ目のない単語のチェーンでリンクします(falseを返さない場合) 単語は、文字ではなく、少なくとも2つのグリッド正方形でなければなりません 例: [["", "wo", "r", "k"], [ "", "r", "", ""], [ "he", "l", "lo", ""], [ "", "d", "ad", ""]] 戻り値: ["work", "world", "hello", "load", "dad"] 例: [["he", "ll", "o"], [ "", "", ""], [ "wo", "r", …

2
単語検索パズルの生成
文字列のリストが与えられたら、各初期文字列を含む最小の正方行列を見つけます。文字列は、この質問「ワード検索パズル」のように、水平、垂直、または斜めに、前後に表示されます。 単語は、各方向(水平、垂直、および対角)に少なくとも1単語ずつ、正方形に配置する必要があります。単語は一度だけ表示されるはずです。 したがって、入力は単なる単語のリストです。例:CAT, TRAIN, CUBE, BICYCLE。考えられる解決策の1つは次のとおりです。 B N * * * * * * I * * C A T * A C * * * * * R * Y * * C * T * * C * U * * * * * L B * * …

7
クロスワードを読む
この形式へのパッキングに関するこの質問に触発されました。 ときどき、完成したクロスワードが表示され、私と同じようにいると、手がかりの解決策が実際に何であったかを知るのに迷惑をかけることができません。 入力: 2D文字列(任意の形式、改行区切り、2Dリストなど) 空白の四角は(スペース文字)で表されます 他のすべての正方形は小文字のアルファベットになります。 入力がスペースで埋められて長方形を形成すると仮定することができます 出力: 見つかった各単語 前後の単語を検索する必要があります 単語は少なくとも2文字の長さになります 重複する単語がある場合は、出現するたびに出力する必要があります 検証する必要はありません 単語は任意の順序で出力できます 厳密なフォーマット規則はありません テストケース: word e e step t d word, step, west, reed --- pies not no wasp pies, not, no, wasp, in, eons, stop --- igloo n word igloo, word, on

1
ジェイソンが彼のJSONをフォーマットするのを手伝ってください
Jasonには大きなJSONがありますが、判読できないため、彼はそれをきれいにする必要があります。 フォーマット仕様 JSONには4つの異なるタイプがあります。 数字; ただ0-9 ストリング; で"エスケープされた二重引用符付き文字列\ 配列; で区切られ[]、アイテムはで区切られ,、アイテムはこれらのタイプのいずれかになります オブジェクト; で区切られ{}、formatはkey: valuekeyが文字列で、valueはこれらのタイプのいずれかです 間隔 配列には、項目間のコンマの後にちょうど1つのスペースが必要です。 オブジェクトには、キーと値の間にスペースが1つだけあるはずです。 : くぼみ 各ネストレベルは、以前よりも2インデントされます 各オブジェクトのキーと値のペアは、常に独自の行にあります。オブジェクトはインデントされます 配列に別の配列またはオブジェクトが含まれる場合、配列は複数行にわたってインデントされます。それ以外の場合、配列は1行のままです ルール このタスクを単純化するビルトインは許可されていません。 いつものように、標準的な抜け穴は許可されていません 例 [1,2,3] [1, 2, 3] {"a":1,"b":4} { "a": 1, "b": 4 } "foo" "foo" 56 56 {"a":[{"b":1,"c":"foo"},{"d":[2,3,4,1], "a":["abc","def",{"d":{"f":[3,4]}}]}]} { "a": [ { "b": 1, "c": "foo" }, …
11 code-golf  string  json  code-golf  number  code-golf  image-processing  code-golf  string  code-golf  number  sequence  arithmetic  number-theory  code-golf  string  code-golf  string  counting  code-golf  ascii-art  code-golf  math  code-golf  tips  code-golf  string  code-golf  grid  graph-theory  code-golf  parsing  interpreter  brainfuck  code-golf  math  arithmetic  number-theory  programming-puzzle  c#  code-golf  dominoes  code-golf  tips  code-golf  string  grid  crossword  code-golf  string  code-golf  kolmogorov-complexity  code-golf  number  sequence  code-golf  string  math  number  number-theory  primes  fastest-code  code-golf  number  code-golf  string  code-golf  ascii-art  number  kolmogorov-complexity  code-golf  string  grid 


5
交差する単語を数える
次の標準的な15×15 クロスワードパズルグリッドについて考えてみましょう。 これをASCII #ブロックで表すには、forブロックと(スペース)を白い正方形に使用します。 # # # # # # # ### ## ## ## # # # # ## ## ## ### # # # # # # # 上記のASCIIアート形式のクロスワードグリッドを前提として、それが保持する単語数を決定します。(上記のグリッドには78ワードあります。先週の月曜日のニューヨークタイムズパズルです。) 単語は、垂直または水平に走る2つ以上の連続したスペースのグループです。単語は、ブロックまたはグリッドのエッジのいずれかで開始および終了し、常に上から下または左から右に実行されます。対角線または後方には決して実行されません。上のパズルの6行目のように、単語はパズルの幅全体に及ぶ場合があることに注意してください。単語を別の単語に関連付ける必要はありません。 細部 入力は常に文字#または(スペース)を含む長方形で、行は改行(\n)で区切られます。グリッドは、およびの代わりに、2つの異なる印刷可能なASCII文字で構成されると想定できます。# オプションの末尾の改行があると想定する場合があります。末尾の空白文字は、単語数に影響を与えるため、カウントされます。 グリッドは常に対称であるとは限らず、すべてスペースまたはすべてブロックである場合があります。 プログラムは理論的にはあらゆるサイズのグリッドで機能する必要がありますが、この課題では21×21を超えることはありません。 グリッド自体を入力として、またはグリッドを含むファイルの名前として使用できます。 stdinまたはコマンドライン引数から入力を取り、stdoutに出力します。 必要に応じて、プログラムの代わりに名前付き関数を使用して、グリッドを文字列引数として取得し、stdoutまたは関数returnを介して整数または文字列を出力できます。 テストケース 入力: # # # 出力:(7各の前にスペースが4つあります#。各番号記号を削除した場合の結果は同じですが、Markdownは空の行からスペースを削除します。) 入力: ## # ## …

10
クロスワードの番号付け
クロスワードグリッドに正しく番号を付けるプログラムを作成します。 入力 入力は、クロスワードグリッドを表すファイルの名前になります。入力ファイル名は、引数として、標準入力で、またはハードコーディング以外の従来の方法で渡すことができます。 グリッドファイル形式:テキストファイル。1行目は、空白で区切られた2つの整数定数Mとで構成されていNます。その行に続くのは、M それぞれからN選択された文字(および新しい行)で構成される行[#A-Z ]です。これらの文字は'#' 、ブロックされた四角形、' '既知のコンテンツのないパズル内の開いた四角形、およびその文字を含む開いた四角形を示すように解釈されます。 出力 出力は番号付けファイルになり、標準出力、入力ファイル名から派生した名前のファイル、ユーザー指定のファイル、または他の従来の宛先に送信できます。 ナンバリングファイルフォーマットテキストファイル。「#」で始まる行は無視され、コメントに使用できます。他のすべての行はタブ区切りトリプレット含むi、m、数がグリッド上に印刷されるべきであり、そしてそれが印刷されるべきである正方形の行と列を表しています。行と列の両方の数は1から始まります。nimn 採番スキーマ 正しい番号のグリッドには、次のプロパティがあります。 番号は1から始まります。 開いている正方形の列またはスパンには番号が付けられていません。(問題には1文字の回答が存在しないと考えるかもしれません。) 番号は、各行を左から右に取って、上から下にスキャンすることにより、カウント順に発生します。(したがって、すべての水平スパンには左端の正方形から番号が付けられ、すべての列には一番上の正方形から番号が付けられます。) テスト入力と期待される出力 入力: 5 5 # ## # # # ## # 出力(コメント行を無視): 1 1 2 2 1 3 3 2 2 4 2 4 5 2 5 6 3 1 7 3 4 8 …

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