-6

異なる寸法 (つまり、4x6 と 10x15) のグリッドがある場合、その特定のセルの近くにあるセルをどのように見つけますか? セル 15 にいると言って、10x10 グリッドの場合、セル 15 にはセル 5、14、16、および 25 が隣接セルとして含まれていると言えますか? それとも、グリッドが多くの異なる次元を持つことができるという事実は、その場でそれを把握できる C++ または Java の関数を持つことを不可能にしますか?

4

1 に答える 1

2

アルゴリズムを構築しましょう:

ディメンションm行*n列を指定すると、次の例のグリッドがあります。この例では、mは 2 で、nは 3 です。

+-----+ 
|0|1|2|
+-----+
|3|4|5|
+-----+

aこれで、縦位置と横位置のセルの数が であることがわかりbますam+b

が分かっているのでm、モジュロを使って a と b を求めましょう。

b はより小さいので(プログラミングで最初の行と列に0 を使用しているため)、gridsquare の位置はcolumnでmあると言えます。row は、整数に切り捨てることを意味します。zz%mfloor(z/m)floor(

次に、m と n に 1 を足したり引いたりして 4 つの隣接する正方形を取得し、am+b前に示したようにそれらの数値 ID を計算します。

于 2013-06-30T16:46:05.197 に答える