回答編集履歴

2

補足

2017/06/29 22:46

投稿

momon-ga
momon-ga

スコア4820

test CHANGED
@@ -50,11 +50,11 @@
50
50
 
51
51
  - 真横の場合(2通)
52
52
 
53
-  0回、1回のどちらか。
53
+  0回、1回のどちらか。に、移動前の旋回が1回追加
54
54
 
55
55
  - ナナメの場合(4通)
56
56
 
57
-  0回、1回のどちらか。
57
+  0回、1回のどちらか。に、移動中の旋回が1回追加
58
58
 
59
59
 
60
60
 

1

旋回の必要回数について追加

2017/06/29 22:46

投稿

momon-ga
momon-ga

スコア4820

test CHANGED
@@ -15,3 +15,51 @@
15
15
 
16
16
 
17
17
  それとも、最小アクションを求めるアルゴリズムが思いつかないってことでしょうか?
18
+
19
+
20
+
21
+ 追記:
22
+
23
+ 旋回については、一番単純なケースから考えていくといいです。
24
+
25
+ 1. 移動がまったく必要ない場合、最後の向きと現在の向きについて検討すれば良いです。
26
+
27
+ 同じ方向なら、0回、真反対なら2回、90度、270度の時は1回です。
28
+
29
+
30
+
31
+ 2. 1方向(X軸またはY軸)に移動が必要な場合
32
+
33
+ 移動前に旋回が必要な場合、1回。そうでないなら1のケースと同じ。
34
+
35
+
36
+
37
+ 3. 2方向に移動が必要な場合
38
+
39
+ 移動だけに関していえば、1回でいいです。
40
+
41
+ なので、最初の向きが正面または、真反対のときに、追加で1回
42
+
43
+
44
+
45
+ 8方向に移動することを整理すると
46
+
47
+ - 移動先が正面、または真背面の場合(2通)
48
+
49
+  0回、1回、2回のどれか
50
+
51
+ - 真横の場合(2通)
52
+
53
+  0回、1回のどちらか。
54
+
55
+ - ナナメの場合(4通)
56
+
57
+  0回、1回のどちらか。
58
+
59
+
60
+
61
+ > とりあえず書いてみれば法則も見つかる。
62
+
63
+
64
+
65
+ 見つかりましたよね?