質問編集履歴
4
文章の修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -15,10 +15,11 @@
|
|
15
15
|
行列Nは、それぞれの青い点1、2、3、...16に、隣接する、三角形の数字を並べたものです。
|
16
16
|
|
17
17
|
|
18
|
-
それぞれ、一番小さい数字からはじまり 、半時計周りで
|
18
|
+
それぞれ、一番小さい数字からはじまり 、半時計周りです。
|
19
19
|
|
20
|
+
|
20
21
|
例えば、Eは6行目に、三角形6を作る3点、10、11、15があります。
|
21
|
-
|
22
|
+
また、Nは、10行目に、点10に隣接する三角形、5、7、8、6があります。
|
22
23
|
|
23
24
|
|
24
25
|
|
@@ -27,7 +28,7 @@
|
|
27
28
|
|
28
29
|
|
29
30
|
この行列において、
|
30
|
-
|
31
|
+
(1)
|
31
32
|
Nのみが与えられたとき、Eの行列を作り上げる
|
32
33
|
(Eの行列の中身の順番には、特に指定はありません)
|
33
34
|
ことができるプログラミングのアルゴリズム1
|
@@ -57,7 +58,7 @@
|
|
57
58
|
を考えています。
|
58
59
|
|
59
60
|
---
|
60
|
-
O(N)
|
61
|
+
O(N)のあるアルゴリズムをつくっているのですが、
|
61
62
|
アルゴリズムがどうしても思いつかなくなり、質問をさせて頂きました。
|
62
63
|
|
63
64
|
ちなみに、
|
@@ -81,7 +82,7 @@
|
|
81
82
|
```
|
82
83
|
|
83
84
|
と導き出せたのですが、
|
84
|
-
上の(2)の効率の良いアルゴリズムが思いつきません。
|
85
|
+
上の(2)の効率の良いアルゴリズムが思いつきませんでした。
|
85
86
|
|
86
87
|
どなたか、効率の良いアルゴリズムを教えて頂けないでしょうか。
|
87
88
|
どうか、宜しくお願い致します。
|
3
誤字の修正をしました。
title
CHANGED
File without changes
|
body
CHANGED
@@ -72,7 +72,7 @@
|
|
72
72
|
3. Counter ベクトル c=0 を、サイズNnで作る
|
73
73
|
4. N=0 空の行列
|
74
74
|
5. For e = 1: N
|
75
|
-
1.
|
75
|
+
1. for i 1:3 #3つエントリーがあるから
|
76
76
|
2. n = E[e,i]
|
77
77
|
3. c[n] = c[n] +1
|
78
78
|
4. N[n,cn] = e
|
@@ -104,7 +104,7 @@
|
|
104
104
|
1. C = C + 3
|
105
105
|
|
106
106
|
1. テーブルの作成
|
107
|
-
1. If
|
107
|
+
1. If i == 3:
|
108
108
|
1. B[ i ] = [ E[e,i], E[e,i-2]]
|
109
109
|
2. A[ i ] = [ E[e,i], E[e,i-2]]
|
110
110
|
2. else:
|
2
アルゴリズム を追加してみました。
title
CHANGED
@@ -1,1 +1,1 @@
|
|
1
|
-
効率の良いアルゴリズムをつくる方法を教えて頂けないでしょうか
|
1
|
+
効率の良いアルゴリズムをつくる方法を教えて頂けないでしょうか。
|
body
CHANGED
@@ -84,4 +84,36 @@
|
|
84
84
|
上の(2)の効率の良いアルゴリズムが思いつきません。
|
85
85
|
|
86
86
|
どなたか、効率の良いアルゴリズムを教えて頂けないでしょうか。
|
87
|
-
どうか、宜しくお願い致します。
|
87
|
+
どうか、宜しくお願い致します。
|
88
|
+
|
89
|
+
|
90
|
+
|
91
|
+
|
92
|
+
|
93
|
+
(2)のアルゴリズム
|
94
|
+
|
95
|
+
```ここに言語を入力
|
96
|
+
|
97
|
+
1. EからNe行をの行数を数える
|
98
|
+
2. Nn = Eで一番大きい数をストックする
|
99
|
+
3. Counter ベクトル C=0 #三角形の辺の数
|
100
|
+
4. B=0 空の行列 #三角形の辺を保存する
|
101
|
+
5. A 0 空の行列 #現在みているの三角形辺を保存する
|
102
|
+
6. For e = 1: Nn
|
103
|
+
1. For i 1:3 #3つエントリーがあるが、
|
104
|
+
1. C = C + 3
|
105
|
+
|
106
|
+
1. テーブルの作成
|
107
|
+
1. If I == 3:
|
108
|
+
1. B[ i ] = [ E[e,i], E[e,i-2]]
|
109
|
+
2. A[ i ] = [ E[e,i], E[e,i-2]]
|
110
|
+
2. else:
|
111
|
+
1. B[ i ] = [ E[e,i], E[e,i+1]]
|
112
|
+
2. A[ i ] = [ E[e,i], E[e,i+1]]
|
113
|
+
|
114
|
+
|
115
|
+
1. num=A ∩ B をして、重なった数字をCから消す
|
116
|
+
2. C = C-num
|
117
|
+
3.
|
118
|
+
4. A を空にする。
|
119
|
+
```
|
1
罫線などを入れてみやすくしました。問題文をわかりやすく書き換えました。
title
CHANGED
File without changes
|
body
CHANGED
@@ -21,27 +21,52 @@
|
|
21
21
|
また、Nは、10行目に、点10に隣接する三角形、5、7、8、6があります。
|
22
22
|
|
23
23
|
|
24
|
+
|
25
|
+
---
|
26
|
+
|
27
|
+
|
28
|
+
|
24
29
|
この行列において、
|
25
|
-
(1)
|
30
|
+
~~ (1)~~
|
26
31
|
Nのみが与えられたとき、Eの行列を作り上げる
|
27
32
|
(Eの行列の中身の順番には、特に指定はありません)
|
28
33
|
ことができるプログラミングのアルゴリズム1
|
34
|
+
(教えて頂きました。本当にありがとうございました。)
|
35
|
+
|
36
|
+
```ここに言語を入力
|
37
|
+
1. N を読み込み、行数Nnを数える
|
38
|
+
2. N の一番大きな数字を見つける #(16)
|
39
|
+
3. 16行x3列のEという空の行列を作る。
|
40
|
+
1. For i 1:Nn # N行のループ
|
41
|
+
1. For j 1: len(N[i]) #Nそれぞれの行の要素数の分だけループ
|
42
|
+
1. E[ N[i ][j] ]に i を ストック
|
43
|
+
```
|
29
44
|
|
45
|
+
|
46
|
+
|
30
|
-
|
47
|
+
__(2)
|
31
48
|
Eのみが与えられたとき、点と点を結ぶ線の数(黒線)を求める、
|
32
|
-
ことができるアルゴリズム2
|
49
|
+
ことができるアルゴリズム2__
|
33
50
|
|
51
|
+
```ここに言語を入力
|
52
|
+
1.
|
53
|
+
```
|
54
|
+
|
55
|
+
|
56
|
+
|
34
57
|
を考えています。
|
58
|
+
|
59
|
+
---
|
35
|
-
|
60
|
+
O(N)という制約のあるアルゴリズムをつくっているのですが、
|
36
61
|
アルゴリズムがどうしても思いつかなくなり、質問をさせて頂きました。
|
37
62
|
|
38
63
|
ちなみに、
|
39
64
|
|
40
65
|
E行列からN行列を求めるO(N)アルゴリズムは、
|
41
66
|
|
42
|
-
Eの行列から、N行列を求める
|
43
|
-
```ここに言語を入力
|
44
67
|
|
68
|
+
```
|
69
|
+
(Eの行列から、N行列を求める)
|
45
70
|
1. EからNe行をの行数を数える
|
46
71
|
2. Nn = Eで一番大きい数をストックする
|
47
72
|
3. Counter ベクトル c=0 を、サイズNnで作る
|
@@ -52,11 +77,11 @@
|
|
52
77
|
3. c[n] = c[n] +1
|
53
78
|
4. N[n,cn] = e
|
54
79
|
|
55
|
-
|
80
|
+
|
56
81
|
```
|
57
82
|
|
58
83
|
と導き出せたのですが、
|
59
|
-
上の
|
84
|
+
上の(2)の効率の良いアルゴリズムが思いつきません。
|
60
85
|
|
61
86
|
どなたか、効率の良いアルゴリズムを教えて頂けないでしょうか。
|
62
87
|
どうか、宜しくお願い致します。
|