問題タブ [crossword]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
148 参照

c# - 空白のテキストボックスの数を取得する

私は crossWord プログラムを書いています。最初に、ユーザーは数字 "n" を入力し、白色で空白の TextBox を持つ * n テーブルを作成する必要があります。テーブルを作成した後、ユーザーがいくつかの家をクリックすると、家の背景色が黒に変わります。

私の質問は、この手順の後で、黒色の TextBoxes の数、白色の TextBox の数、水平方向または垂直方向の列で黒のない連続した白いテキスト ボックスの最大数を検出して、一致する単語を貼り付けるにはどうすればよいですか?彼らへ!

ここに画像の説明を入力

上記の表では、フォームは、2 番目の水平行または 2 番目の垂直行で 5 が最大の白い連続したテキスト ボックスであることを検出する必要があります。

ここに私のコードスニペンがあります:


だから、今私はLINQを使って次のようなすべての白いテキストボックスを取得します:

白人でXの場所の違いが20以下のアイテムを入手するにはどうすればよいですか。

0 投票する
1 に答える
376 参照

prolog - Prolog のクロスワード パズルの一般化されたソルバー

これが問題とソリューションの特別なバージョンです。 プロローグの学習: クロスワード スキームを解く

私が探しているのは、同じモデルを使用する一般化されたソルバーです。これらの変数名をその場で生成する必要があると思いますが、方法がわかりません。私はswi-prologを使用しています。

一般化されたソルバーとは、N x N のクロスワード パズルを解くことができるソルバーを意味します。N は事前定義されていません。

0 投票する
1 に答える
152 参照

c - Cは、クロスワードの水平方向の単語を新しい配列に入れます

完全に塗りつぶされたクロスワードがあり、水平方向の単語をスキャンして新しい配列に配置するプログラムを実行したいと考えています。クロスワードは 20x20 配列で、新しい配列は 40x20 になります。元。次のような 3 つの水平方向の単語を見つけた場合: 40x20 は
犬のように見える必要があります --> 最初の行
cat
fish
0
...
0 --> 40 行目
(40x20 = 40 行であるため、最大単語数は 40 になります)単語ごとに1行...これまでに行ったことはそれほど多くありません.....

0 投票する
1 に答える
865 参照

string - 交差を最大化する与えられた単語からクロスワードを生成する

小さな(〜20)単語セットから始めて、交差点の数を最大化する(または少なくとも「大きい」)クロスワードを構築する実行可能な(つまり多項式時間)アルゴリズムはありますか?または、交差基準が非現実的である場合、クロスワードの密度を (ある意味で) 最大化することは可能ですか?

すでに Python で網羅的な検索を作成しましたが、6 語を超えると時間がかかりすぎます...

参照: クロスワードを生成するアルゴリズム(しかし、そこにある回答は良いものですが、実際には私の問題に取り組んでいません)。

0 投票する
1 に答える
654 参照

c++ - クロスワード ゲーム: 与えられた 2 次元の配列を読み取り、斜めに検索する C++

これはcrossword game. 配列を斜めに読みたい。この配列は特定のファイルから読み取られ、n*m サイズです。m = n とは限らない

このように斜めに与えられた2dをどのように読むことができますか:

例:

コードは次のとおりです。

0 投票する
1 に答える
1103 参照

algorithm - クロスワードを生成する効率的なアルゴリズム (NYtime のスタイル)

クロスワードを生成する効率的な方法を見つけたいです。ここに記載されている解決策を読みました。これにより、簡単なクロスワードが生成されます。ニューヨーク時代のようにクロスワードを生成するための効率的で最適化された方法を探しています。つまり、パズルを 180 度回転させても同じように見えます (黒い四角は同じ位置に残ります)。ここでは、グリッドが最初に生成され、3 文字以上の単語を使用できると仮定できます。

そうするための最良のアプローチは何ですか?反復回数を減らし、時間を短縮するには、どの検索アルゴリズムを使用できますか?