X



プログラミングのお題スレ Part16

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
垢版 |
2019/11/17(日) 09:00:22.10ID:xqEdXdr6
プログラミングのお題スレです。

【出題と回答例】
1 名前:デフォルトの名無しさん
  お題:お題本文

2 名前:デフォルトの名無しさん
  >>1 使用言語
  回答本文
  結果がある場合はそれも

【ソースコードが長くなったら】 (オンラインでコードを実行できる)
https://ideone.com/
http://codepad.org/
http://compileonline.com/
http://rextester.com/runcode
https://runnable.com/
https://code.hackerearth.com/
http://melpon.org/wandbox
https://paiza.io/

宿題は宿題スレがあるのでそちらへ。

※前スレ
プログラミングのお題スレ Part15
http://mevius.5ch.net/test/read.cgi/tech/1564310397/
0003デフォルトの名無しさん
垢版 |
2019/11/17(日) 17:37:39.46ID:8gWobnsK
val 乙 = "乙"
prontln(乙)
0004デフォルトの名無しさん
垢版 |
2019/11/18(月) 02:35:04.18ID:t9gVOJNg
お題:
https://i.imgur.com/JsMU4uh.jpg
明度が0〜9までのグレーの四角がグラデーション状に横並びにならんでいるとします
この状態だと隣接している四角と四角の明度の差が少ないので境目が見えづらいです
全ての四角同士の明度差ができるだけ大きくなるように並び替えるにはどういうロジックが考えられるでしょう?
四角の数が増えても対応できるような汎用的なロジックが望ましいです
両端は固定のままが理想ですが必須要件ではありません

・ボツ例:1〜4まで一つおきに左右端を入れ替える
(1) 1と8を入れ替える
(2) 2と7はそのまま
(3) 3と6を入れ替える
(4) 4と5はそのまま
※これだと4と5が隣り合ったままで明度差が少ない箇所が残るので最適解ではない
0005デフォルトの名無しさん
垢版 |
2019/11/18(月) 05:41:33.12ID:8+qUVevR
Σ|a_n - a_{n+1}| を最大化する問題なのか
inf{|a_n - a_{n+1}|} を最大化する問題なのか
どっちなんだ?
0006デフォルトの名無しさん
垢版 |
2019/11/18(月) 11:50:33.33ID:BCetHxzu
>>4
力業で確認したら
>>5 の判定ルールで前者後者ともに最大になるのは
[0, 5, 1, 6, 2, 7, 3, 8, 4, 9] だけみたい、前者 41、後者 4
前者だけだとスコア 41 で 576通り、後者だけだとスコア 4 で 2通り
そのもう一つの解は [0, 4, 8, 3, 7, 2, 6, 1, 5, 9] で前者の判定ルールだとスコア 39

[0, 5, 1, 6, 2, 7, 3, 8, 4, 9] を偶数項と奇数項に分けると…
0008デフォルトの名無しさん
垢版 |
2019/11/18(月) 20:03:36.58ID:EbN/HVpO
>>4
両端固定で最小隣接差を最大化する条件で回答する。Rですべての並べ方を虱潰しに
調べるのが https://ideone.com/paKF2d で、結果は>>6が言う通りになる。
n = 10 ではすぐに終わるが、それを超えると時間がかなりかかるし、環境によっては
メモリ不足になる。

もう少し効率的に調べるのが https://ideone.com/OsmpbQ で、n = 16 までは
すぐに終わる。それを超えると時間がかかるように段々なるので、さらなる効率化が
必要。

n = 10 と n = 16 の結果から、nが偶数の場合は>>6が言うように規則性が見られ、
nが大きくなっても並べ方は常に2通りで、例えば n = 256 のときは

0, 127, 254, 126, 253, 125, 252, ..., 2, 129, 1, 128, 255
0, 128, 1, 129, 2, 130, 3, ..., 253, 126, 254, 127, 255

になると予想されるが、それが正解であることを理論的に説明しないといけないな。
0009デフォルトの名無しさん
垢版 |
2019/11/21(木) 21:52:25.50ID:1mUnuvuP
>>4
【nが偶数の場合の>>8の予想を理論的に説明する】(等幅フォントでの表示推奨)

n = 10のとき、最小階差をd >= 6と仮定すると  0: 4, 5, 6, 7, 8
4に隣接できる数はなく、d = 5と仮定すると9だ  1: 5, 6, 7, 8, 9
けなので、数列が途切れてしまって続かない。  2: 6, 7, 8, 9
よってd >= 5はあり得ず、d = 4から調べれば良  3: 7, 8, 9
い。d = 4のとき各数が隣接できる数を列挙する  4: 0, 8, 9
と、右図のようになる。            5: 0, 1, 9
                       6: 0, 1, 2
                       7: 0, 1, 2, 3
                       8: 0, 1, 2, 3, 4
                       9: 1, 2, 3, 4, 5

これらの候補からそれぞれ2個(両端の0と9では  0: (4), (5), >6<, >7<, >8<
1個)ずつを選ぶ問題となる。4で、0と9を両方選  1: [5], 6, 7, 8, >9<
ぶと0→4→9で順列が終わってしまうため片方し  2: 6, 7, 8, >9<
か選べないから、8を必ず選ぶことが確定する。  3: 7, 8, >9<
同様に5で1が確定する。選択確定に[]、どちら  4: (0), [8], (9)
か一方を選択に()、非選択の確定に><の印をつ  5: (0), [1], (9)
けると、右図になる。             6: >0<, 1, 2
                       7: >0<, 1, 2, 3
                       8: >0<, 1, 2, 3, [4]
                       9: >1<, >2<, >3<, (4), (5)
0010デフォルトの名無しさん
垢版 |
2019/11/21(木) 21:53:22.41ID:1mUnuvuP
3と6で候補がそれぞれ2個に絞られたから、それ  0: (4), (5), >6<, >7<, >8<
らが選択確定となり、右図になる。       1: [5], [6], >7<, >8<, >9<
                       2: [6], 7, >8<, >9<
                       3: [7], [8], >9<
                       4: (0), [8], (9)
                       5: (0), [1], (9)
                       6: >0<, [1], [2]
                       7: >0<, >1<, 2, [3]
                       8: >0<, >1<, >2<, [3], [4]
                       9: >1<, >2<, >3<, (4), (5)

2と7で残り候補がそれぞれ1個に絞られたから、  0: (4), (5), >6<, >7<, >8<
それらが選択確定となり、結局、可能な並べ方  1: [5], [6], >7<, >8<, >9<
は右図のように0の次に4か5から始まる2通りし  2: [6], [7], >8<, >9<
かないことが分かる。             3: [7], [8], >9<
                       4: (0), [8], (9)
                       5: (0), [1], (9)
                       6: >0<, [1], [2]
                       7: >0<, >1<, [2], [3]
                       8: >0<, >1<, >2<, [3], [4]
                       9: >1<, >2<, >3<, (4), (5)

同様にして、nが偶数の場合を一般化し、中央の2つの数n / 2 - 1とn / 2でそれぞれ
n - 2と1を選択確定、0とn - 1を一方選択とするところから始めて、順々に選択確定
させていくことができる。

>>8の予想を理論的に説明できたので、それに基づくプログラムを晴れて作成すると、
https://ideone.com/D3zdgX になる。
0011デフォルトの名無しさん
垢版 |
2019/11/21(木) 21:54:24.25ID:1mUnuvuP
nが奇数の場合にも偶数の場合と似たようにしてd >= (n - 1) / 2 はあり得ず、
d = (n - 1) / 2 - 1 から調べれば良いことが分かるが、偶数の場合と違い
選択確定できる数はない。>>8の元請け関数のforループの開始値をnではなく
n %/% 2 - 1に置き換えるだけでは、実行時間は5〜6%くらいしか短縮されない。
偶数の場合のような図の作成により、調べる組み合わせを減らしていくことは
できるが、プログラムを書くのはかなり面倒そう。
0012デフォルトの名無しさん
垢版 |
2019/11/21(木) 22:40:32.33ID:vr0RSw67
>>4 Squeak Smalltalk。両端固定せず、対称排除なしの虱潰しで。

| min |
min := 0 -> OrderedCollection new.
(0 to: 9) permutationsDo: [:perm |
   | curr |
   curr := (perm overlappingPairsCollect: #-) abs min.
   curr = min key ifTrue: [min value add: perm copy].
   curr > min key ifTrue: [min := curr -> (OrderedCollection with: perm copy)]
].
^min value asArray "=> #(#(4 9 3 8 2 7 1 6 0 5) #(5 0 6 1 7 2 8 3 9 4)) "



"Pharo向け => http://ws.stfx.eu/CFADPDGFMTJC ;"
0016デフォルトの名無しさん
垢版 |
2019/11/23(土) 22:51:11.49ID:ubdNKuk5
>>4>>11の方式で求めるプログラムを書いてみた: https://ideone.com/14wgia

nが偶数の場合、n = 8までは>>8の2番目のプログラムと比べて遅いが、n = 10, 12,
14, 16, 18, 20ではそれぞれ1.78倍、7.16倍、49.8倍、327倍、3120倍、30800倍の
速度になり、差がどんどん開いていく。n = 256でも1秒未満で求められる。

nが奇数の場合、n = 11までは遅いが、n = 13で同程度になり、n = 15, 17, 19, 21では
それぞれ3.25倍、12.6倍、58.8倍、325倍の速度で、差がやはりどんどん開いていく。
nが2大きくなるごとに並べ方の通り数が2倍以上に増えるようなので、n = 255では
どんなアルゴリズムを使ってもコンピュータの性能限界をはるかに超えてしまう。
0017デフォルトの名無しさん
垢版 |
2019/11/24(日) 20:41:58.58ID:NMcltmqU
今日は夕焼けが超絶綺麗だったよ。
今まで見たことないくらい。
まだきれいになるだろうか、というのと、これ一回で終わりだろうか。
というのがあった。
0018デフォルトの名無しさん
垢版 |
2019/11/25(月) 01:25:34.58ID:SBJvKXmI
お題:Diffアルゴリズムを実装せよ。

差分アルゴリズム、さんぷる。
1:abcdef
2:abdef -> -3:c
3:bcdef -> -1:a,+3:c
4:abcdef -> +1a

以上がオレの考えるアルゴリズムだが、
もっとより良いアルゴリズムが世の中にはあるはずなので、
実装しませんか?
0019デフォルトの名無しさん
垢版 |
2019/11/25(月) 09:24:47.39ID:veETdbiQ
>>18
それはアルゴリズムではなく入力と出力のサンプル。

まあとにかく足された文字は+と位置と足された文字(または文字列?)を出して引かれた文字は-と位置と文字を出す仕様ということだな。
で、位置は先頭が1だと。

後で時間が空いたら考えとく。
0020デフォルトの名無しさん
垢版 |
2019/11/25(月) 22:13:03.88ID:UwQDpJpg
>>18
https://ideone.com/3VET5r
Rには編集前後の文字列のレーベンシュタイン距離を求める便利な関数adistが
備わっていて、1文字の挿入、削除、置換操作が必要な位置をI, D, S、操作が不要な
位置をMで示す文字列を返してくれる。例えば、"abdef" と "bcdef" を与えると、
"DMIMMM" が得られる。あとは、>>18の出力形式にちょっと加工するだけ。
0025デフォルトの名無しさん
垢版 |
2019/11/28(木) 17:24:57.64ID:mMrv+0Zt
高性能じゃない俺にもできるお題をたのむ
0026デフォルトの名無しさん
垢版 |
2019/11/28(木) 20:14:43.82ID:mbBdSv/T
お題:自然数aをいくつか[※1]の自然数の組の和で表すとき、それらの自然数の組の
積[※2]が最大となるような自然数の組を、aが1から100までに対して表示せよ[※3]。

[※1] 1つでも構わず、その場合には和も積も自然数n自身となる。
[※2] 例えば、7を1+2+4と表せば積は1*2*4=8、2+5と表せば積は2*5=10であり、
   後者の積の方が大きい。
[※3] 最大となるような自然数の組が複数ある場合は、すべての組を表示せよ。
0028デフォルトの名無しさん
垢版 |
2019/11/28(木) 20:30:31.52ID:mbBdSv/T
>>27
可。
0029デフォルトの名無しさん
垢版 |
2019/11/28(木) 21:08:44.29ID:pgFu+V4e
後で虱潰しに全部計算するやつでも作るかな
0030デフォルトの名無しさん
垢版 |
2019/11/28(木) 21:12:26.03ID:522sTouZ
同じ数字を何回も使っていいんだったら2と3だけで作って、2*2を4と置き換えたものを追加(※3のため)すればええんかね?
aが1の場合は1
aが偶数の場合2^(a/2)
aが3以上の奇数の場合2^((a-3)/2)+3
0031デフォルトの名無しさん
垢版 |
2019/11/28(木) 21:20:11.41ID:EjjwcG+D
f(a,n)=(a/n)^n
df/dn =(a/n)^n * (-1+log[a/n]) な感じなので
ne=aで増減変化な気がするから
それ前後の整数2つだけしらべれば大丈夫?
a<=100, a>=1 だから200回調べる感じ
0032デフォルトの名無しさん
垢版 |
2019/11/28(木) 22:03:53.95ID:uZ7jROyS
3で分割できている間は3で残りが1になってしまう場合は最後の4を2x2にするのが最大っぽいね
7だったら3+3+1ではなくて3+2+2
12は3+3+3+3
13は3+3+3+2+2
100までずっとこれ

最大値しか表示しないけど
https://ideone.com/Ck54FP
0033デフォルトの名無しさん
垢版 |
2019/11/28(木) 22:37:08.59ID:PoPpbfsh
求める値をf(a)とする
b+c=a, b<=c, b>0, c>0 となる全てのb,cに対して
max { f(b) f(c) } と a の大きい方
となる

f(a) を a=1 の時から順番に調べれば良い

aが十分大きくて小数も許すなら
e=2.7182818... に分けるのが最善
整数なら>>32の通りかな?
0035デフォルトの名無しさん
垢版 |
2019/11/28(木) 22:48:21.15ID:PoPpbfsh
1以外の時には1が出ない
5以上は2個以上に分けた方が大きい
4は2+2にしても同じ
6は2+2+2より3+3よ方が大きい

だから
a>=2の時には
2、3、4以外の値はあらわれず
2と4をあわせて6以上にはならないことがわかる

つまり、(順番を無視すれば)以下の形のみになる

3+3+...+3
3+3+...+3+2
3+3+...+3+2+2
3+3+...+3+4
0036デフォルトの名無しさん
垢版 |
2019/11/29(金) 15:19:10.07ID:Ursk3Xfl
>>35
なぜそれで「だから」となるのかわからない。
0037デフォルトの名無しさん
垢版 |
2019/11/29(金) 17:42:19.99ID:YkvT9y9m
2、3、4以外の値はあらわれず
2と4をあわせて6以上にはならない

どっちがわからない?
0038デフォルトの名無しさん
垢版 |
2019/11/29(金) 17:48:24.95ID:YkvT9y9m
.... が正として、

.... * n * 1 < .... * (n+1)
.... * n < .... * floor(n/2) * ceil(n/2) @nが5以上
.... * 2 * 2 * 2 < .... * 3 * 3
.... * 4 = .... * 2 * 2
0039デフォルトの名無しさん
垢版 |
2019/11/29(金) 17:57:55.99ID:YkvT9y9m
一応、
加算と乗算は交換法則と結合法則が成り立つ
ってのも必要な条件です
0040デフォルトの名無しさん
垢版 |
2019/11/29(金) 20:54:17.14ID:dycaAJcC
>>37
なぜ現れないとわかるのか?
0041デフォルトの名無しさん
垢版 |
2019/11/29(金) 21:03:35.14ID:M9vvD3Fp
>>40
38で書いてくれてる
5以上なら分割したほうが大きくなるから最終的な数字は5未満になる
0042デフォルトの名無しさん
垢版 |
2019/11/29(金) 21:19:59.63ID:dycaAJcC
え?そうなの?わかりづらいな。見てもわからんよ。
0044デフォルトの名無しさん
垢版 |
2019/11/29(金) 21:39:03.80ID:M9vvD3Fp
38の内容は
1行目で1が無意味なので1が出ない
2行目で5以上は分割したほうがでかくなる
3行目で2*2*2と3*3は同じ
4行目で2*2と4は同じ
を説明している
3行目4行目はパターンを列挙するために必要な内容
0045デフォルトの名無しさん
垢版 |
2019/11/30(土) 02:03:19.03ID:8/O2xSEo
5以上は分割した方が大きくなる事に関しては数学的に証明できてるってこと?
0047デフォルトの名無しさん
垢版 |
2019/11/30(土) 02:28:06.73ID:Qe4NE6bn
n/2*n/2=n^2/4
だからn=4ならnと同じ、5以上なら分子が大きくなるからnより大きくなる
整数でに分割なので↑は偶数のときに限定
奇数のときは
(n-1)/2*(n+1)/2=(n^2-1)/4
だからnが5以上ならnより大きい
0048デフォルトの名無しさん
垢版 |
2019/11/30(土) 07:09:20.92ID:WebQyLi7
>>45
より大きくなる具体的な分け方を>>38に書いた

半分の、小数点以下切り上げ
半分の、小数点以下切り捨て
に分ける

これの方が大きい証明はとても簡単
(でもあまりエレガントではない)

もちろんこの分け方が最大というわけではないが
最大の分け方が5以上を含むと仮定すると、
より大きなものが存在するので矛盾
だから5以上は含まない
と言う事が出来る
0049デフォルトの名無しさん
垢版 |
2019/11/30(土) 07:13:05.91ID:WebQyLi7
最大となる分け方が存在する
ってのは有限性から明らか

つまり、
少なくとも1個の分け方が存在する
分け方は有限個しかない
から明らか
0050デフォルトの名無しさん
垢版 |
2019/11/30(土) 11:15:44.62ID:WebQyLi7
n ≧ 5 の時

floor(n/2) * ceil(n/2) - n
> { (n - 1) / 2 } * { n / 2 } - n
= n (n - 5) / 4
≧ 0

よって
n < floor(n/2) * ceil(n/2)
0051デフォルトの名無しさん
垢版 |
2019/11/30(土) 17:07:38.94ID:0h0IqWCg
これでわからんのなら数学じゃなくて日本語が不自由と断言してよいレベルだな
0054デフォルトの名無しさん
垢版 |
2019/11/30(土) 18:08:13.55ID:+iwJeZ8g
>>44
今更だけど3行目の説明間違えてた
2*2*2より3*3が大きい
なので結果的に解は3がたくさん並んで後ろで足りない分を2、もしくは4つける形になる
0055デフォルトの名無しさん
垢版 |
2019/11/30(土) 18:12:03.75ID:hV/U21TG
>>26
https://ideone.com/nqON70
C++。理屈が良くわからんけど、これが俺の限界。
2で欠けたほうが普通はいいんだけど、3の倍数は2引くと1余るのでそういうところでコスト取られるのでしょうかねぇ??
プリミティブ触ったほうが詰め込めるというのは普遍的にあると思うのだけどね。。。
もしかしたら、どっかの素数がスイートスポットになってて変な切り方しないとうまくないってこともあるかもしれない。
0057デフォルトの名無しさん
垢版 |
2019/11/30(土) 18:18:52.60ID:hV/U21TG
2の倍数で且つ3の倍数の時は2を使うのがいいのか3を使うのがいいのか解らない。
0058デフォルトの名無しさん
垢版 |
2019/11/30(土) 18:25:54.08ID:hV/U21TG
>>55も若干間違ってるなぁ。
2と3の倍数を兼ねる数字はその数字単体によって切り方を変えないといけないんだと思う。
なんかゲーム的。
0064デフォルトの名無しさん
垢版 |
2019/11/30(土) 20:15:09.44ID:c0k0ajHF
>>26の出題者です。>>32で正解ですが、お題の指示通りに自然数の組み合わせを
出力してもらいたかったな。こういう綺麗な三角形ができるから。

1: [1]
2: [2]
3: [3]
4: [4]
4: [2, 2]
5: [2, 3]
6: [3, 3]
7: [3, 4]
7: [2, 2, 3]
8: [2, 3, 3]
9: [3, 3, 3]
10: [3, 3, 4]
10: [2, 2, 3, 3]
11: [2, 3, 3, 3]
12: [3, 3, 3, 3]
13: [3, 3, 3, 4]
13: [2, 2, 3, 3, 3]
14: [2, 3, 3, 3, 3]
15: [3, 3, 3, 3, 3]
16: [3, 3, 3, 3, 4]
16: [2, 2, 3, 3, 3, 3]
17: [2, 3, 3, 3, 3, 3]
18: [3, 3, 3, 3, 3, 3]
19: [3, 3, 3, 3, 3, 4]
19: [2, 2, 3, 3, 3, 3, 3]
20: [2, 3, 3, 3, 3, 3, 3]
21: [3, 3, 3, 3, 3, 3, 3]
22: [3, 3, 3, 3, 3, 3, 4]
(以下略)
0065デフォルトの名無しさん
垢版 |
2019/11/30(土) 20:17:08.99ID:c0k0ajHF
1から9までの行頭の半角空白が消えちゃったな。
0067デフォルトの名無しさん
垢版 |
2019/12/01(日) 01:13:31.67ID:2OVww3gB
「ループを使わずに1から100を順に出力するコードは書けますか」
0070デフォルトの名無しさん
垢版 |
2019/12/01(日) 02:00:13.95ID:vkZvYyYJ
>>67
void Array.from({length:100}, (_, i) => {
console.log(i + 1);
});
とか
let counter = 0;
void function count() {
if (counter++ < 100) {
console.log(counter);
count();
}
}();
とか。js
0071デフォルトの名無しさん
垢版 |
2019/12/01(日) 06:08:36.21ID:jm8+wa+d
>>67 Ruby アイデアは前スレの誰かのパクリ

p 10**303 / 999**2
# => 10020030040050060070080090100110120130140150160170180190200210220230240250260270
28029030031032033034035036037038039040041042043044045046047048049050051052053054
05505605705805906006106206306406506606706806907007107207307407507607707807908008
1082083084085086087088089090091092093094095096097098099100
0072デフォルトの名無しさん
垢版 |
2019/12/01(日) 09:04:24.78ID:lTEhnVlg
>>67 julia
println.(1:100)
0074デフォルトの名無しさん
垢版 |
2019/12/01(日) 18:17:04.86ID:54WkPiOY
>>67
Kotlin script

(1..100).forEach(::println)

今スマホから書いてて試せないんだが多分これでできる。
forEachはループだというならこれではダメだが(確かに中ではループしていると思う)。
0076デフォルトの名無しさん
垢版 |
2019/12/01(日) 19:26:37.77ID:IoGKXgrY
>>71
これが日本のIT産業。
0077デフォルトの名無しさん
垢版 |
2019/12/01(日) 21:21:54.10ID:3oGVZyBI
お題: アルファベットの文字列の大文字と小文字の対応を反転させて表示しろ

in < Hello, World!
out > hELLO, wORLD!
0080デフォルトの名無しさん
垢版 |
2019/12/01(日) 23:10:18.94ID:sAJI+X1W
>>77 Common Lisp
(defun string-invert-case (string)
  (map 'string
       (lambda (c)
         (if (lower-case-p c)
             (char-upcase c)
             (char-downcase c)))
       string))

(write-line (string-invert-case "Hello, World!"))
0082デフォルトの名無しさん
垢版 |
2019/12/02(月) 08:36:45.67ID:gdxsQr6e
>>67 PHP

<?=implode(range(1,100)," ")?>
0083デフォルトの名無しさん
垢版 |
2019/12/02(月) 15:32:31.35ID:APM7ABg4
お題: コンビニでタバコ(マルボロ)を買いたい
喫煙者がコンビニでタバコを購入して喫煙するまでの疑似コードを書け
詳細にかつ現実的で、エラー/例外に可能な限り対応していれば高得点とする

例:
person.walk_to(conbini)
if conbini.has(person) {
employee = conbini.get_current_employee()
tobacco = person.request_to(employee, "マルボロ")
person.smoke(tobacco)
}
0084デフォルトの名無しさん
垢版 |
2019/12/02(月) 16:09:21.37ID:KwsHxcvC
ヤニカスはしね
0085デフォルトの名無しさん
垢版 |
2019/12/02(月) 17:33:22.44ID:54OAxivC
1,マルボロ吸いてー。
2,そうだコンビニへ行こう
3,財布を確認
4,どうやって行こうか
5,準備して家を出る
6,道中色々
7,コンビニ到着
8,コンビニ物色
9,予備で買わなければいいけないモノを示唆
10,カゴ買うモノを入れる
11,レジに行く
12,レジでタバコの番号を「N個クレ」という。
13,ホットスナックを示唆する
14,会計が出る
15,ポイントカードを出す
16,お金を払う
17,品物を受け取る
18,コンビニをでる
19,喫煙スポット検索
20,喫煙スポットへいく
21,道中色々
22,到着
23,タバコを開けて一本取り出す
24,ライターで火をつける
25,吸う
26ぷれじゅあぁあああああああああああ
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況