2017-11-26 3 views
0

私はプログラミングクラスの戦艦ゲームをコーディングしています。私は、ユーザーが持っている船の数を書かなければならない部分に固執しています見つける。問題は、各船に隣人を置くことができないことです。さらに、プログラムは船をランダムに配置し、教師は行と列の数を変更することができます。だから、私はマトリックスに置くことができる船の数を決定する式を作る必要があります。それはあなたの船をどこに置くかによっても異なります(例のように)。私たちがテーブルに置くことができる船の最大数を知る方法

ありがとうございます。

P .:船は1ブロックしか占有しません。

+0

船のサイズは? – iBug

+1

これはいくつかの*既存の*コードに関連しているので話題にはならず、Common Lisp、C++、Python、Ocamlのような他のプログラミング言語でも同じ問題があります。その番号を計算するための数式は必要ありません。あなたは新しいボートを無作為に配置することができます。あなたは明示的な公式(おそらく存在しないかもしれません)を必要としません。 –

+0

しかし、あなたは白黒ボードで推論することができます。次に、上限(船舶の数)が黒のセルの数になるかもしれない。あなたの次の質問については、[MCVE] –

答えて

0

あなたの写真が示すように、あなたが持つことができる最も多くの船は2x2ブロックにつき1です。任意のサイズが奇数の場合は、もう1つのサイズを持つことができます。だから、最大数の式は次のとおりです。

((width + 1)/2) * ((height + 1)/2) 

船をランダムに配置する必要がある場合、あなたはおそらくnoticably少ない数をヒットしますが、それは最高です。

関連する問題