回答編集履歴
2
説明補足とソースの若干の修正
test
CHANGED
@@ -1,6 +1,12 @@
|
|
1
1
|
2重ループ1つでなんとかなりました。
|
2
2
|
|
3
|
+
|
4
|
+
|
5
|
+
yは各行の先頭の値です。
|
6
|
+
|
7
|
+
横へ移動した時の増分をコントロールして各要素に入れる数値xを生成しています。
|
8
|
+
|
3
|
-
|
9
|
+
左上△エリアと右下△エリアで増分の計算式が変わっています。
|
4
10
|
|
5
11
|
|
6
12
|
|
@@ -30,11 +36,11 @@
|
|
30
36
|
|
31
37
|
|
32
38
|
|
33
|
-
int y=
|
39
|
+
int y=1;
|
34
40
|
|
35
41
|
for (int j=0; j < n; ++j) {
|
36
42
|
|
37
|
-
int x=y
|
43
|
+
int x=y;
|
38
44
|
|
39
45
|
for (int i=0; i < n; ++i) {
|
40
46
|
|
1
typo
test
CHANGED
@@ -5,8 +5,6 @@
|
|
5
5
|
|
6
6
|
|
7
7
|
```C++
|
8
|
-
|
9
|
-
#include <iostream>
|
10
8
|
|
11
9
|
#include <iostream>
|
12
10
|
|
@@ -106,7 +104,7 @@
|
|
106
104
|
|
107
105
|
2重配列をコピーで返却しているので、本当はstd::move()を使って返却した方がよいです。
|
108
106
|
|
109
|
-
std::move()
|
107
|
+
std::move()はC++11以上でないと使えないので、ここでは見送りました。。
|
110
108
|
|
111
109
|
|
112
110
|
|