回答編集履歴

2

説明補足とソースの若干の修正

2015/11/23 04:35

投稿

Chironian
Chironian

スコア23272

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=0;
39
+ int y=1;
34
40
 
35
41
  for (int j=0; j < n; ++j) {
36
42
 
37
- int x=y+1;
43
+ int x=y;
38
44
 
39
45
  for (int i=0; i < n; ++i) {
40
46
 

1

typo

2015/11/23 04:35

投稿

Chironian
Chironian

スコア23272

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()C++11以上でないと使えないので、ここでは見送りました。。
107
+ std::move()C++11以上でないと使えないので、ここでは見送りました。。
110
108
 
111
109
 
112
110