質問編集履歴
1
コードの追加
title
CHANGED
File without changes
|
body
CHANGED
@@ -3,4 +3,49 @@
|
|
3
3
|
このような条件を満たすときマスの番号を順に入れた配列の配列を返すような関数 bronze(n) を定義せよ.
|
4
4
|
マスの番号は0からn^2 - 1とし,左上から順に横方向にスキャンしながら番号付けし,右下で終わるようにせよ.
|
5
5
|
|
6
|
+
|
7
|
+
```javascript
|
8
|
+
function bronze(n)
|
9
|
+
{
|
10
|
+
|
11
|
+
var LEFTUP = 0
|
12
|
+
var RIGHT = 1
|
13
|
+
var DOWN = 2
|
14
|
+
|
15
|
+
function make_masu(n)
|
16
|
+
{
|
17
|
+
var state = []
|
18
|
+
var i
|
19
|
+
for(i = 0;i < n * n;i++) state[i] = 0
|
20
|
+
|
21
|
+
return state
|
22
|
+
}
|
23
|
+
|
24
|
+
function move(state,now,move)
|
25
|
+
{
|
26
|
+
var now_x = now % n
|
27
|
+
var now_y = Math.floor(now / n)
|
28
|
+
|
29
|
+
if (move == DOWN && now_y > n - 1){
|
30
|
+
state[now + n] = 1
|
31
|
+
now = now + n
|
32
|
+
} else if (move == LEFTUP && 0 < now_y && 0 < now_x){
|
33
|
+
state[now - n - 1] = 1
|
34
|
+
now = now - n - 1
|
35
|
+
} else if (move == RIGHT && now_x < n - 1){
|
36
|
+
state[now + 1] = 1
|
37
|
+
now = now + 1
|
38
|
+
}
|
39
|
+
return state
|
40
|
+
}
|
41
|
+
function next_move(state,now)
|
42
|
+
{
|
43
|
+
|
44
|
+
}
|
45
|
+
function search(start)
|
46
|
+
{
|
47
|
+
|
48
|
+
}
|
49
|
+
}
|
50
|
+
```
|
6
|
-
|
51
|
+
マスの状態をstateで与えてstateが1の場所は一度訪れたことがある場所という感じで考えているのですが,探索の仕方のアイデアが思いつかないです。
|