問題タブ [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.
java - Java: 文字のマトリックスを含む txt ファイルを読み取り、その中の単語を検索します
Java で基本的なプログラムを作成しようとしており、BlueJ を使用しています。文字で構成された 15x15 のマトリックスを含むテキスト ファイル (input.txt) を読み取り、その中で単語を検索する必要があります。これらの単語は既知であり、input.txt ファイルに書き込まれます。おそらくtxtファイルは、マトリックスと検索ワードを形成するため、何らかの形で既にフォーマットされていますが、印刷するときは最初の7〜8行(マトリックス)をスキップします。
私は初心者です。可能であれば、このプログラムの開始方法、最初の数行を省略せずにファイル input.txt を読み取る方法、およびマトリックス内の単語を読み取る方法について少し助けてください (単語は既にクロスワードのように、単語の「位置」または「方向」(北、南、西、東、北東、北、南、など) を返します。
皆さん、ありがとうございました ;)
ファイルinput.txtは次のとおりです。
prolog - Prolog に変数の一意の値を選択させる
OK、私はPrologを初めて使用するので、これが些細なことである場合は申し訳ありませんが、これに対する適切なエレガントな答えを見つけることができないようです. 私はここでlearnprolognow.orgの演習2.4(クロスワード)を解決しようとしています。
この演習では、次の事実が提供されます。
そして、各単語のクロスワード配置を解決するために私が思いついた解決策は次のとおりです。
V1a
toV1g
などは各単語の文字であり、toV1bH1b
はV3fH3f
クロスワードの単語間で共通する文字です。
解決策は機能しているように見えますが、結果は重複した値を生成しています。最初の結果は次のとおりです。
Prologに強制するにはどうすればよいV1 \= V2 \= V3 \= H1 \= H2 \= H3
ですか? 1つずつ個別に行うと、120個の順列が必要になるため、より迅速な方法が必要であり、これは初心者の演習であるため、何かが欠けているに違いありません.
この同様の質問を見つけましたが、提供された回答は非常に複雑に思えます。もっと簡単な方法があることを願っています。念のため、Ubuntuでswi-prologを使用しています。
ありがとう。
php - PHPマーキンググリッド交点x / y座標
x/y座標と方向情報(横または下)を含むデータの配列を取り、共有セルを増分番号でリンクしようとしています。クロスワードパズル用です。元の配列は次のとおりです。
)
1 から始まり、1 ずつ増加する「num」という各エントリに新しいキーを追加したいのですが、トリッキーな部分は、開始セルを共有している場合 (grid_x と grid_y を共有する場合)、同じ番号を共有するために上下に移動する必要があることです。 )。これは私が今持っているコードですが、探している正しい数値を生成しません。
私はこの結果を得ることになります:
ID 1 と 3 の両方が「1」になるように探しています。下向きと横向きが同じ開始セルを共有し、横向きキーと下向きキーで同じ数字がラベル付けされているクロスワード パズルについて考える場合、それが私のデータ セットで達成しようとしていることです。
御時間ありがとうございます。
c# - クロスワードワード(クロスワードとダウン)ストレージ?
クロスワードパズルを作成する場合、たとえば9x9のグリッドに入力された単語を保存したいと思います。2D配列を検討しましたが、Acrossワードのみを格納でき、Downワードは格納できません。各単語がオブジェクト(方向を示す)として格納されていても、どの単語がどの単語と交差するのかわかりません。誰かが私を正しい方向に向けることができますか?
regex - クロスワード ソリューションの正規表現
これはクロスワード問題です。例:
- 答えは「r」で始まり「r」で終わる6文字の単語です
- したがって、パターンは「r....r」です
- 未知の 4 文字は、文字 "a"、"e"、"i"、"p" のプールから引き出す必要があります。
- 各文字は 1 回だけ使用する必要があります
- 候補の6文字の単語の大きなリストがあります
解決策:「レイピア」または「修理」。
パターン「r....r」のフィルタリングは簡単ですが、「不明」スロットに [aeip] を含む単語を見つけるのは私には不可能です。
この問題は正規表現の影響を受けやすいですか、それとも徹底的な方法で解決する必要がありますか?
prolog - 各値を一意として返すルールを作成する方法
Learn Prolog Now!をフォローしています。演習 2.4を見ていました。
ここで見つけた解決策は解決しているようですが、完全ではありません。
これにより、次の結果が生成されます。
これらのうち、実用的なのは次の 2 つだけです。
他の 3 つの解決策には重複が含まれているため、問題に対する実行可能な解決策ではありません。
クロスワード ルールに追加して、V1、V2、V3、H1、H2、H3 がすべて一意である結果のみを返すにはどうすればよいですか?
python - クロスワード解決コンパニオン
文字とインデックスを取り、クロスワードの答えを吐き出すプログラムを書いています (クロスワード ソルバーではなく、クロスワードの解決を支援するツールです)。
私は 2 つのバージョンのアルゴリズムを作成しましたが、どちらも正しく動作していないようです。私が最初に試したのはこれでした:
ちょっと醜いことはわかっていますが、これはアルゴリズムの概念実証にすぎません。ユーザー入力は後で変更されます。とにかく、これは何を試しても空のリストを返すようです。
2 番目のバージョンは基本的に同じですが、ブール演算子の代わりにネストされた if ステートメントに依存しています。
これも空のリストを返します。私が使っている言葉のリストはここから来ています。私は外部ファイルを扱うのが初めてなので、明らかな何かが欠けていると思います。これらの関数は前者のプロトタイプであり、どちらも問題なく動作することを指摘しておく必要があります。
編集: 参考までに、ここにコード全体を示します (コードのコメントアウトされたセクションを含む)。