問題タブ [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 - 交差する文字で交差する 2 つの単語を取得する方法。(1つは縦に、もう1つは横に)
私は学校の宿題に取り組んでいます。課題には、「入力として2つの単語を取得し、1つを垂直に、もう1つを水平に印刷して、それらが交差するようにする」と記載されています。
この例:
コーヒーと苦しみに入ると、出力として次のようになります。
私のコードは次のとおりです。
php - PHPで配列の値を比較して置き換える方法
私はPHPに取り組んでいました。これはクロスワードゲームです。ボードのコードは次のとおりです。
ここに、クロスワード ボードを作成した連想配列があります。-の場所は、最初に宣言された単語に置き換えられ、$words
次に配列に変換されます。今、$wordArr
配列の値をクロスワード連想配列要素と比較し、長さが等しい場合はその単語に置き換える方法の要点がわかりません。私はphpを初めて使用するため、値を比較して置き換える方法についてのガイダンスが必要です。
php - 完全なクロスワード パズル (バックトラッキングと再帰) を正常に生成するには、何をどのように変更する必要がありますか?
これまでに行ったことを投稿し、以下の原則に従っていますが、間違っているようです。2〜3年前にクロスワードパズルを生成した方法は次のとおりです。
- 1つの単語を表すクラスがあります。座標 (x, y) - 開始位置、方向 (水平、垂直)、および単語自体があります。
- アルゴリズムが開始する前に必要に応じて混合する単語のリストがあります。
- 最初の単語を (0,0) に水平に置き、ソリューションのリストに入れます。
- 「I go one level inside」(再帰)、次の単語を取ります。
- 解決策のリストを調べて、どこかに配置しようとします (条件: 2 つの単語の文字が共通で、向きが異なる)
- 見つかったら、それをソリューションに追加します。共通の文字があれば、開始点と方向を簡単に計算できます。
- 部分的な解決策が正しいかどうかを確認します (交差するすべての単語が同じ文字を持っている) - おそらくこれが最も複雑です。交差するすべての単語を保持すると役立つ場合があります。8.1. 8.2. OK の場合、続行します (単語リストまたはクロスワード パズルのサイズなどのその他の条件が完了するまで)。それが間違っている場合は、ソリューションから単語を削除し、1 レベルの再帰 (バックトラッキング) を削除します。たとえば、null を返し、次の単語を試します。
誰かが私を助けたり、問題を解決するのに間違っている場所を案内してくれますか? 現在、単語を使用してクロスワード パズルを生成しています (クロスワードの矢印の種類が正しくありません)。
出力: