回答編集履歴
5
修整
test
CHANGED
@@ -1,17 +1,17 @@
|
|
1
1
|
18~49の整数をランダムに選ぶ。この数字をnとする
|
2
2
|
(16~50の整数でもいいですが、説明が複雑になるので端折ります)
|
3
3
|
-1~1の整数をランダムに選ぶ。この数字をkとし、m=n+kとする
|
4
|
-
1~100を偶数、奇数に分けてそれぞれシャッフルする
|
4
|
+
1~100を偶数、奇数に分けてそれぞれの山をシャッフルする
|
5
|
-
要素数1のグループをn個、奇数から作る
|
5
|
+
要素数1のグループをn個、奇数の山から作る
|
6
6
|
できたグループに1~nの番号をつける
|
7
|
-
そして1~nの整数をランダムに生成し、出た数の番号のグループに奇数
|
7
|
+
そして1~nの整数をランダムに生成し、出た数の番号のグループに奇数の山から1つ配る
|
8
8
|
(ただし、要素数が3のグループには配らない)
|
9
|
-
これを奇数がなくなるまで繰り返す
|
9
|
+
これを奇数の山がなくなるまで繰り返す
|
10
|
-
次に、要素数1のグループをm個、偶数から作る
|
10
|
+
次に、要素数1のグループをm個、偶数の山から作る
|
11
11
|
できたグループに1~mの番号をつける
|
12
|
-
そして1~mの整数をランダムに生成し、出た数の番号のグループに偶数
|
12
|
+
そして1~mの整数をランダムに生成し、出た数の番号のグループに偶数の山から1つ配る
|
13
13
|
(ただし、要素数が3のグループには配らない)
|
14
|
-
これを偶数がなくなるまで繰り返す
|
14
|
+
これを偶数の山がなくなるまで繰り返す
|
15
15
|
あとは、
|
16
16
|
k=-1の時は奇数のグループから始めて交互にグループを並べる
|
17
17
|
k=1の時は偶数のグループから始めて交互にグループを並べる
|
4
修整
test
CHANGED
@@ -13,7 +13,7 @@
|
|
13
13
|
(ただし、要素数が3のグループには配らない)
|
14
14
|
これを偶数がなくなるまで繰り返す
|
15
15
|
あとは、
|
16
|
-
|
16
|
+
k=-1の時は奇数のグループから始めて交互にグループを並べる
|
17
|
-
|
17
|
+
k=1の時は偶数のグループから始めて交互にグループを並べる
|
18
|
-
|
18
|
+
k=0の時はどちらが先でもいいので交互にグループを並べる
|
19
19
|
|
3
アルゴリズム組みなおし
test
CHANGED
@@ -13,7 +13,7 @@
|
|
13
13
|
(ただし、要素数が3のグループには配らない)
|
14
14
|
これを偶数がなくなるまで繰り返す
|
15
15
|
あとは、
|
16
|
-
n>mの時は奇数のグループから始めて交互に並べる
|
16
|
+
n>mの時は奇数のグループから始めて交互にグループを並べる
|
17
|
-
n<mの時は偶数のグループから始めて交互に並べる
|
17
|
+
n<mの時は偶数のグループから始めて交互にグループを並べる
|
18
|
-
n=mの時はどちらが先でもいいので交互に並べる
|
18
|
+
n=mの時はどちらが先でもいいので交互にグループを並べる
|
19
19
|
|
2
修整
test
CHANGED
@@ -1,15 +1,19 @@
|
|
1
|
+
18~49の整数をランダムに選ぶ。この数字をnとする
|
2
|
+
(16~50の整数でもいいですが、説明が複雑になるので端折ります)
|
3
|
+
-1~1の整数をランダムに選ぶ。この数字をkとし、m=n+kとする
|
1
|
-
偶数、奇数に分けてそれぞれ
|
4
|
+
1~100を偶数、奇数に分けてそれぞれシャッフルする
|
2
|
-
要素数3以下のグループに偶数をわける
|
3
|
-
方法としては、1~3の数をランダムに生成していき、
|
4
|
-
1が出たら1個、2が出たら2個、3が出たら3個、偶数の山からとっていき、
|
5
|
-
それぞれを1つのグループとする。できたグループの数をnとする
|
6
|
-
|
5
|
+
要素数1のグループをn個、奇数から作る
|
7
6
|
できたグループに1~nの番号をつける
|
8
7
|
そして1~nの整数をランダムに生成し、出た数の番号のグループに奇数を1つ配る
|
9
8
|
(ただし、要素数が3のグループには配らない)
|
10
9
|
これを奇数がなくなるまで繰り返す
|
10
|
+
次に、要素数1のグループをm個、偶数から作る
|
11
|
+
できたグループに1~mの番号をつける
|
12
|
+
そして1~mの整数をランダムに生成し、出た数の番号のグループに偶数を1つ配る
|
13
|
+
(ただし、要素数が3のグループには配らない)
|
14
|
+
これを偶数がなくなるまで繰り返す
|
15
|
+
あとは、
|
11
|
-
|
16
|
+
n>mの時は奇数のグループから始めて交互に並べる
|
12
|
-
以上です
|
13
|
-
|
17
|
+
n<mの時は偶数のグループから始めて交互に並べる
|
14
|
-
|
18
|
+
n=mの時はどちらが先でもいいので交互に並べる
|
15
19
|
|
1
test
CHANGED
@@ -5,7 +5,7 @@
|
|
5
5
|
それぞれを1つのグループとする。できたグループの数をnとする
|
6
6
|
次に、要素数1のグループをn個、奇数から作る
|
7
7
|
できたグループに1~nの番号をつける
|
8
|
-
そして1~nの整数をランダムに生成し、出た数の番号のグループに奇数を配る
|
8
|
+
そして1~nの整数をランダムに生成し、出た数の番号のグループに奇数を1つ配る
|
9
9
|
(ただし、要素数が3のグループには配らない)
|
10
10
|
これを奇数がなくなるまで繰り返す
|
11
11
|
偶数のグループがn個、奇数のグループがn個できたのでこれを交互に並べる
|