[過去ログ] プログラミングのお題スレ Part15 (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
353: 2019/09/06(金)23:31 ID:adnLBrFU(5/6) AAS
fix it.
354(1): 2019/09/06(金)23:32 ID:adnLBrFU(6/6) AAS
大したコードではないが、そこまで威力があるとは思わなかった。
動機なんてそんなもんか。
355: 蟻人間 ◆T6xkBnTXz7B0 2019/09/06(金)23:43 ID:sc/CXZHY(1) AAS
お題: ある会社の営業曜日(複数可)と営業時間が与えられる。今月1ヶ月の営業時間の合計を求め、今月のカレンダーの下に表示せよ。ただし、その会社は祝日・祭日を特別扱いしないものとする。
356: 399 2019/09/07(土)00:15 ID:meGL1HdM(1) AAS
>>354
おぉ見るたびマッチング精度上がってる
ありがとうございます!
参考にさせてもらいます
357(1): 2019/09/07(土)09:58 ID:kl0P3WfA(1) AAS
>>350
>>339は固有値の差と言ってるのに>>350は固有値の和でコード書いてるように見える
358: 2019/09/07(土)10:01 ID:15iR+LCW(1) AAS
そもそもeigenvalueじゃないのに固有値と言うのに違和感を覚える
359: 2019/09/07(土)10:40 ID:K3PTI0jA(1) AAS
わからんな
結晶や薄膜やらだと本当に固有値がある
ヤツは「材料」って言っていて、その先に何を想定してるかこちらには伏せられたまま
もしかすると高分子の製薬かもしれない
使うと無くなるんだろ?
360: 2019/09/07(土)13:46 ID:VQVarZXt(1/3) AAS
>>357
あ・・・。そうだね、そうだね。
すっかり勘違いしていた。
361: 2019/09/07(土)14:08 ID:VQVarZXt(2/3) AAS
外部リンク:ideone.com
C++。引き算する場合、奇策練るとよくない感じだなぁ・・・。
しかし、うっかりしてたわ。
362(1): 2019/09/07(土)14:45 ID:VQVarZXt(3/3) AAS
外部リンク:ideone.com
C++。暇だったから、いじってみた。
自分の方法だと、スコア高い?けどたまに100ペアにならないことがある。
これで今回はこれがオチとしておく。
363(1): 399 2019/09/07(土)20:55 ID:aT864lGO(1) AAS
>>362
やっぱり、最小のペアを選んでいくことがベストなのかな?
できれば差は出来るだけ小さい方が良くて、結果みてると後者の方が良好な結果が出てる気がする
364: 2019/09/08(日)00:49 ID:YBN7WO0H(1) AAS
排便を
壁に塗りつけ
したり顔
365: 2019/09/08(日)02:51 ID:bEtb/TpC(1) AAS
>>257
Kotlin
外部リンク:paiza.io
366: 2019/09/08(日)08:38 ID:GRxK0QRw(1/2) AAS
>>313
正方形だと3倍速い
367: 2019/09/08(日)09:39 ID:46Wp6heU(1) AAS
3倍早いだけだったらオーダーが変わらねーじゃん
円が一万個一億個一兆個だったらどうなんの
368: 2019/09/08(日)09:58 ID:GRxK0QRw(2/2) AAS
3日の仕事が1日で済むとも言う。
369: 2019/09/08(日)13:16 ID:rbzdrKrZ(1) AAS
>>363
ランダム生成している数字が割と一様なのでそういう結果になるけど、
まばらに片寄っていたらどうすればいいかはその時しかわからんなぁ。
370: 蟻人間 ◆T6xkBnTXz7B0 2019/09/08(日)23:16 ID:YT+ZQkc/(1/3) AAS
何か初心者にも解ける面白い問題ないかな?
371: 蟻人間 ◆T6xkBnTXz7B0 2019/09/08(日)23:23 ID:YT+ZQkc/(2/3) AAS
お題: 質問文とn個の項目からなるメニューを実装せよ。
質問文とn個の文字列が入力として与えられる。質問文とn個の項目をかっこよく表示し、ユーザーが一つ項目を選ぶまで待つ。選んだら、選んだ項目を出力する。
372: 蟻人間 ◆T6xkBnTXz7B0 2019/09/08(日)23:47 ID:YT+ZQkc/(3/3) AAS
お題: マイ ドキュメントのフォルダ階層構造を表示せよ。
373(12): 2019/09/08(日)23:48 ID:gIfFAHmp(1) AAS
お題
与えられた数列の、隣り合う2要素の差のリストを作る関数等を作ってください。
入力数列例
3 1 4 1 5 9 2 6 5
出力数列例
-2 3 -3 4 4 -7 4 -1
余力があれば、ファイルなどから非常に長い数列を与えられても対処できる実装を試みてください
(外部リンク[html]:gushwell.ldblog.jp を一部改変)
374: 2019/09/08(日)23:48 ID:7lW0qzzX(1) AAS
お題:北のミサイルをなんとかせよ
375: 2019/09/08(日)23:51 ID:ZRQn+E7p(1) AAS
どっかの国ハックして打ち込むしか
376: 2019/09/09(月)00:57 ID:G8Ger3PB(1) AAS
>>373 Perl5
sub f {
map{$_[$_ + 1] - $_[$_]} 0..$#_-1;
}
@a = qw{3 1 4 1 5 9 2 6 5};
@b = f @a;
print "@b\n";
実行結果
~ $ perl 15_373.pl
-2 3 -3 4 4 -7 4 -1
377(2): 2019/09/09(月)07:20 ID:F7fW2XyB(1) AAS
>>373 Pharo/Squeak Smalltalk
| fn |
fn := [:xs | xs allButFirst - xs allButLast].
fn value: #(3 1 4 1 5 9 2 6 5). "=> #(-2 3 -3 4 4 -7 4 -1) "
378: 2019/09/09(月)13:13 ID:4K8wNjEy(1) AAS
>>373 Ruby
p [3, 1, 4, 1, 5, 9, 2, 6, 5].each_cons(2).map{|e| -e.reduce(:-)}
# => [-2, 3, -3, 4, 4, -7, 4, -1]
379(1): 2019/09/09(月)15:22 ID:pyLk+Xbb(1) AAS
>>373 Pharo/Squeak Smalltalk
#(3 1 4 1 5 9 2 6 5) overlappingPairsCollect: [:x :y | y - x]
"=> #(-2 3 -3 4 4 -7 4 -1) "
380: 2019/09/09(月)15:35 ID:pmQvKTaB(1) AAS
>>373
外部リンク:ideone.com
C++。あってるかな?
381: 2019/09/09(月)15:55 ID:8EKyQA8Q(1) AAS
>>373
perl5
"3 1 4 1 5 9 2 6 5" =~ m/(\d) (?= \s? (\d) ) (?{push @diff, $2 -$1}) /xg;
print "@diff";
-2 3 -3 4 4 -7 4 -1
382: 2019/09/09(月)17:47 ID:Uwb0lHsl(1) AAS
>>373
Kotlin
外部リンク:paiza.io
ファイルというか標準入力から入力する事しかできない。
383(1): 2019/09/09(月)18:55 ID:nBEHXDpg(1) AAS
>>373
ファイルからの読み込み派が居ない件。。。
Haskell
main = readFile "count.txt" >>= return.read >>= \lst -> print $ zipWith (-) (tail lst) lst
― ファイルから読まない場合は
― main = print $ zipWith (-) (tail lst) lst where lst = [3,1,4,1,5,9,2,6,5]
test.txt
[3,1,4,1,5,9,2,6,5]
out:
[-2,3,-3,4,4,-7,4,-1]
384: 2019/09/09(月)21:23 ID:pmSRY1k7(1) AAS
>>373 octave
外部リンク:ideone.com
>>373 ruby
外部リンク:ideone.com
>>373 ocaml
外部リンク:ideone.com
385: 2019/09/10(火)00:22 ID:2zzGvcE4(1/3) AAS
>>219 Perl5
$s = 'AKDAK';
@a = ('^', split'', $s);
$o{$_} //= ++$i for @a;
%e = map{$a[$_] => $a[$_+1]} 0..$#a-1;
@p = sort{$o{$a} <=> $o{$b}} keys %o;
$d{$p[-1]} = $p[-1].'$';
push @p, '$';
$e{'$'} = '';
print "'$s'\n→\n";
省14
386: 蟻人間 ◆T6xkBnTXz7B0 2019/09/10(火)01:16 ID:/hHoc5h9(1) AAS
状態遷移図ってどんなときに役立つかな?
387: 2019/09/10(火)01:20 ID:2zzGvcE4(2/3) AAS
ほらまぁ
状態遷移を表形式で定型的に定義した方が
言葉の羅列やグラフもどきポンチ絵などで表現するより明確な場面
さまざまなとき
388: 2019/09/10(火)01:22 ID:2zzGvcE4(3/3) AAS
あいや、表じゃなくて図か。
そしたら、なんとなく依存関係などをややこしいグラフで表現して
ひもつけたとか賜って解釈したような気にさせるとき
自分で考えなよ
389: 2019/09/10(火)02:40 ID:Ik1iUNRF(1/2) AAS
>>373 javascript
[3,1,4,1,5,9,2,6,5]
.reduce((acc, n, i, arr) => [...acc, arr[i + 1] - n], [])
.slice(0, -1)
390: 2019/09/10(火)08:11 ID:lIijspdS(1) AAS
>>373
>>379 のブロック内で処理するのが分かりやすかったので、Haskellもprint以外の処理をリスト内包表記で完結するようにした。
main = print [y - x | let lst@(_:ls) = [3,1,4,1,5,9,2,6,5], (x,y) <- zip lst ls]
文字数としては >>383 より増えるが、読みやすさ優先。
391: 2019/09/10(火)17:53 ID:cZVhsOAf(1) AAS
Smalltalkはやりたいことだけ書けばいいのがいい
392(2): 2019/09/10(火)18:46 ID:CNsNp03m(1/2) AAS
分かったよじゃあoverlappingPairsCollect実装するよ…
const overlappingPairsCollect = (arr, cb) => {
let head = arr.shift();
const overlappingPairs = [];
for (const value of arr) {
overlappingPairs.push([head, value]);
head = value;
}
return overlappingPairs.map(([a, b]) => cb(a, b));
}
省2
393: 2019/09/10(火)19:17 ID:CNsNp03m(2/2) AAS
ああ… forの前にif (!head) return overlappingPairs; のearly return入れ忘れた…
394: 2019/09/10(火)19:18 ID:ER41jhKS(1/3) AAS
何言語?
395: 2019/09/10(火)19:51 ID:4IK1yyiH(1) AAS
女子小学生のメスガキビッチ言語
396: 2019/09/10(火)20:05 ID:9QXTHM58(1) AAS
なるほどjavascriptね!
397(2): 2019/09/10(火)20:19 ID:ER41jhKS(2/3) AAS
外部リンク:ideone.com
C++。なんか面白そうだったので、 >>392 をパクって移植してみた。
結構ジェネリックにかけたが、考える負荷高いね。
398: 2019/09/10(火)20:31 ID:ER41jhKS(3/3) AAS
>>397
コード追加。MakeHogeで困ることあるかなぁ?
あんまりユースケース見えてないから、不具合あったら教えて。
399(3): 2019/09/10(火)21:25 ID:OfzP/6E7(1) AAS
>>392
>>377 も頼む!
400(9): 2019/09/10(火)23:08 ID:aMyCuNre(1) AAS
お題
スネークケースをアッパーキャメルケースに変換せよ
アンダースコアを単語の区切りとみなし、単語の先頭は大文字に、先頭以外は小文字に変換すること
また、単語を連結したときに数字が連続する場合はアンダースコアを残すこと
(例)
snake_case => SnakeCase
ODAI00_99_TEST => Odai00_99Test
x_0_x => X0X
UpperCamelCase => Uppercamelcase
401: 2019/09/10(火)23:20 ID:Ik1iUNRF(2/2) AAS
>>399
allButFirstとallButLastは簡単だけどjsは生き残ってるスクリプト言語にしては珍しく演算子使ったリスト同士の演算が用意されてないのでfnは>>377みたいにキレイに書けない。
const allButFirst = arr => arr.slice(1);
const allButLast = arr => arr.slice(0, -1);
const fn = arr => allButLast(arr).reduce((acc, v, i) => (acc[i] -= v, acc), allButFirst(arr));
fn([3,1,4,1,5,9,2,6,5]);
//=> [-2,3,-3,4,4,-7,4,-1]
402(2): 2019/09/11(水)00:10 ID:JxGfX2fh(1/2) AAS
>>400 Perl5
use feature say;
for (<DATA>) {
say map{ucfirst lc} /((?:\d_\d|[^_\s])+)/g;
}
__DATA__
snake_case
ODAI00_99_TEST
x_0_x
UpperCamelCase
省6
403(1): 2019/09/11(水)00:26 ID:JxGfX2fh(2/2) AAS
>>402 その例ではいいけど
Odai00_9_9Test
↓になっちまうな…
Odai00_99test
404: 2019/09/11(水)00:31 ID:TkJgDVYV(1/2) AAS
>>400
外部リンク:ideone.com
C++。オレ、馬鹿になってる〜。と苦しんでいた。
405: 2019/09/11(水)00:44 ID:hWizELa3(1/2) AAS
>>397
C++むずかしすぎワロタwwwww
406: 2019/09/11(水)00:47 ID:TkJgDVYV(2/2) AAS
C++とJSとの違いは大雑把に言って、使う型を先に決めるか後で決めるか。という程度だと思う。
オレ、自分の幸福度を上げるために、80行位で問題とくようにしている。
というか、手癖でそれくらいになる。
407: 2019/09/11(水)02:04 ID:hWizELa3(2/2) AAS
>>400 JavaScript
const fn = s => s.split`_`
.map(([first, ...rest]) => [first.toUpperCase(), rest.join``.toLowerCase()].join``)
.reduce((acc, word) => acc + (/[0-9]{2}/.test(acc[acc.length - 1] + word[0]) ? '_' : '') + word);
fn('snake_case');
//=> "SnakeCase"
fn('ODAI00_99_TEST');
//=> "Odai00_99Test"
fn('x_0_x');
//=> "X0X"
省2
408: 2019/09/11(水)02:47 ID:0/zUYWhl(1) AAS
>>400 Squeak Smalltalk
| fn |
fn := [:str |
| words |
words := str asLowercase subStrings: '_'.
words first capitalized , (words overlappingPairsCollect: [:x :y |
((x last isDigit and: [y first isDigit]) ifTrue: '_' ifFalse: '') , y capitalized
]) join
].
fn value: 'snake_case'. "=> 'SnakeCase' "
省4
409(1): 2019/09/11(水)06:02 ID:CEu0fvWD(1/2) AAS
>400 Ruby
f = -> s {s.split(/(?<=\D)_|_(?=\D)/).map(&:capitalize).join}
%w[
snake_case ODAI00_99_TEST x_0_x UpperCamelCase
].each{|s| puts '%s => %s' % [s, f[s]]}
# =>
snake_case => SnakeCase
ODAI00_99_TEST => Odai00_99Test
x_0_x => X0X
UpperCamelCase => Uppercamelcase
410: 2019/09/11(水)06:06 ID:CEu0fvWD(2/2) AAS
>>409 補足
puts f["Odai00_9_9Test'] # => Odai00_9_9test
411: 2019/09/11(水)12:54 ID:Alp4BtBi(1) AAS
>>400
perl5
外部リンク:paiza.io
412(14): 2019/09/11(水)21:23 ID:RlhjBlE6(1) AAS
お題:リストの奇数位置にある要素のみを含むリストを作れ
ただし、先頭要素を1番目と数える
[1, 2, 3, 4, 5]
↓
[1, 3, 5]
rust
外部リンク:ideone.com
octave
外部リンク:ideone.com
413(1): 2019/09/11(水)21:27 ID:C94vqLvq(1) AAS
>>400
UpperCamelCaseはそのまま返すべきだろう。
(と言う事で、1文字目が大文字かつ全文に’_’が無い場合は、(恐らくUpperCamelCaseだろうと期待して)そのまま返すようにした)
Haskell
import Data.Char
main = mapM_ (print.f) ["snake_case","ODAI00_99_TEST","x_0_x","UpperCamelCase","notupperCamelCase"]
省15
414(1): 2019/09/11(水)23:29 ID:sKkTHzOH(1/3) AAS
>>400 Perl5、>>402-403 の修正、>>413 のように UpperCamelCase など_を含まない文字列はそのまま返す
use feature say;
for(<DATA>) {
@a = split/(?<!\d)_|_(?!\d)|\s/;
say 1 == @a ? @a : map{ucfirst lc} @a;
}
__DATA__
snake_case
ODAI00_99_TEST
x_0_x
省13
415: 2019/09/11(水)23:34 ID:sKkTHzOH(2/3) AAS
>>414 ゴメン、実行結果貼り間違えた(下記のように最後のOdAi00_9_9TeSTはそのまま出る)
~ $ perl 15_400.pl
SnakeCase
Odai00_99Test
X0X
UpperCamelCase
LocalVvar
LavelStyle
OdAi00_9_9TeST
416: 2019/09/11(水)23:43 ID:sKkTHzOH(3/3) AAS
>>412 Perl5
@a = a..z;
@x = map{$_-1} grep{$_&1} 1..@a;
@b = @a[@x];
print "[@b]\n";
実行結果
~ $ perl 15_412.pl
[a c e g i k m o q s u w y]
417: 2019/09/12(木)00:37 ID:zD/2/X2z(1) AAS
>>412
common lisp
(loop for i in '(1 2 3 4 5) for j from 1 when (eql 1 (mod j 2)) collect i)
(1 3 5)
418: 2019/09/12(木)02:26 ID:IEWaKNAx(1) AAS
>>400
Kotlin
外部リンク:paiza.io
419(2): 2019/09/12(木)09:48 ID:XoEd0LBY(1) AAS
>>412 Ruby
p [1, 2, 3, 4, 5].each_slice(2).map(&:first)
# => [1, 3, 5]
420(1): 2019/09/12(木)11:37 ID:Cxpf63qu(1) AAS
>>412 JavaScript
[1, 2, 3, 4, 5].filter((val, idx) => (idx + 1) % 2)
//=> [1, 3, 5]
421: 2019/09/12(木)18:13 ID:sKYe7PWn(1) AAS
>>412
Kotlin
外部リンク:paiza.io
422: 2019/09/12(木)18:34 ID:u0+zztnJ(1) AAS
>>412
外部リンク:ideone.com
C++。こんな感じで。
423: 2019/09/12(木)21:30 ID:+vUO8BYK(1) AAS
>>373 J
f =: 2 & (-~/\)
f 3 1 4 1 5 9 2 6 5
_2 3 _3 4 4 _7 4 _1
>>412 J
f =: _2 & ([/\)
f 1 2 3 4 5
1 3 5
424: 2019/09/12(木)21:33 ID:cqw0/uFd(1) AAS
さすがJ
サッパリ分からん
425: 2019/09/13(金)00:40 ID:6zSQdjjj(1) AAS
>>412
せめて、リストの中身は順番と関係無い内容の方が。。。
(例えば"abcde"とか)
Haskell
main = (print.oddlist) [1..5]
oddlist xs = [x | (x,y) <- zip xs [1..], odd y]
426(2): 2019/09/13(金)02:03 ID:qdoB8RTo(1) AAS
お題:辞書型クリプタを実装せよ。
私の実装: 外部リンク:ideone.com
貴方はどう書く?
427(1): 2019/09/13(金)13:13 ID:zfsxzWX8(1) AAS
>>412 Tcl
set x {1 2 3 4 5}
set r {}
foreach {a b} $x {set r [concat $r $a]}
puts $r
実行結果
1 3 5
428: 2019/09/13(金)21:31 ID:5n7mddvT(1) AAS
>>427
> foreach {a b}
こんなオサレな書き方で二個処理できるのすごい
429(1): 2019/09/13(金)21:37 ID:sQZEDK+j(1) AAS
tcl/tkで「tk部分ははいいがtclがクソ」みたいなのよく見た気がするんだけど、あれどういうとこが根拠なん?
430: 2019/09/14(土)04:14 ID:x5aQTHnU(1/2) AAS
お題: すべての人民は和平のために火急的に速やかに自己の復元を実現しなければならない。
431: 2019/09/14(土)04:28 ID:BS6VTuNp(1) AAS
>>412 Io
a := list(1, 2, 3, 4, 5)
a select(i, v, i isEven) println
実行結果
list(1, 3, 5)
432(2): 2019/09/14(土)07:49 ID:/8qdS/t9(1) AAS
>>419
>>420
スレ違いだし、関数型言語だけが再利用性が高いとは言わないけど、
仮にoddlistがリストに対して良く使われる処理なら
[1,2,3,4,5].oddlist()
とか使いたいよね?
確かRubyはそう言う基本クラスにメソッド追加出来たと思うけど(うろ覚え)、
それをライブラリにして公開したいとする。
省6
433: 2019/09/14(土)08:17 ID:G26P45sA(1/2) AAS
>>412 Python
print([ i for i in range(1,6,2) ])
# [1, 3, 5]
434: 2019/09/14(土)08:24 ID:Hd+E1riT(1) AAS
>>429
スレチだが教えてやる
数字が文字列として扱われて実行時にパースされるから馬鹿みたいに遅いことだ
435: 2019/09/14(土)08:30 ID:G26P45sA(2/2) AAS
>>412 Python a~f
print( ['a','b','c','d','e'][::2] )
# ['a', 'c', 'e']
436(1): 2019/09/14(土)19:11 ID:Rj/aIpzV(1) AAS
>>426
クリプタって何?
437(1): 2019/09/14(土)19:29 ID:daGZRaa0(1) AAS
ザラキ唱える人じゃないか
438: 2019/09/14(土)19:57 ID:oc39AgJX(1/3) AAS
>>436
Crypter.
Crypt + er.
439: 2019/09/14(土)20:22 ID:x5aQTHnU(2/2) AAS
>>437
それはクリフト
440: 2019/09/14(土)21:03 ID:KmV3vhTN(1) AAS
cryptoなんだからcryptorじゃないの?
441: 蟻人間 ◆T6xkBnTXz7B0 2019/09/14(土)21:19 ID:0f+SL6BM(1) AAS
それをゆうなら、encrypterの方が自然じゃん。
442: 2019/09/14(土)22:06 ID:31y0+jF3(1) AAS
でも、それをいうならの方が自然かも
443: 2019/09/14(土)22:21 ID:oc39AgJX(2/3) AAS
EnCrypterか。了解。
忘れたらごめんなさい。
444(1): 2019/09/14(土)22:23 ID:pQ8OW4Ak(1/2) AAS
EnCrypterはおかしい
Encryperでいい
445: 2019/09/14(土)22:23 ID:pQ8OW4Ak(2/2) AAS
tが抜けた
446: 2019/09/14(土)22:26 ID:hhxdRhHk(1) AAS
EmScriptEn
447: 2019/09/14(土)22:35 ID:oc39AgJX(3/3) AAS
>>444
なんか癖になってるんだ。
小学校から英語やってるわけじゃないからなぁ・・・。
448: 2019/09/14(土)23:35 ID:1m2PUwRG(1) AAS
>>432
釈迦に説法は空しいし恥ずかしいのでやめよう
どう考えてもおまいより>>419のほうが力量が上
議論の余地は無いので安心していい
449(1): 2019/09/15(日)10:23 ID:4T3I9hnw(1/2) AAS
>>426 Perl 5.30
# -*- coding: utf-8 -*-
no warnings 'experimental::signatures';
use feature qw(say signatures); # lexical_subs);
sub ReversibleHash_Encode($S, $C) {
@a = unpack 'C*', $S;
$l = @c = split '', $C;
my $o; ++$o while $l**$o < 256; #my $o = 1 + log(256)/log $l;
use integer;
my sub _enc($i) { join '', reverse map{($i, $m) = ($i/$l, $i%$l); $c[$m]} 1..$o }
省19
450: 2019/09/15(日)10:37 ID:Pt8t6mL1(1) AAS
zipとunzip関数があるからそれで偶数と奇数に分ければいい
451: 2019/09/15(日)11:42 ID:4T3I9hnw(2/2) AAS
>>412 Prl5 (≦5.28)、配列の添字を0始まり以外にする$[ (array_base feature)を使用
$[ = 1;
@a = a..z;
@x = grep{$_ & 1} 1..@a;
@b = @a[@x];
print "@b\n";
実行結果
~ $ perl 15_412_array_base.pl
a c e g i k m o q s u w y
※5.12〜5.28では$[は非推奨になり、設定すると
省2
452: 2019/09/15(日)15:11 ID:G44yhCx+(1) AAS
>>412 R
要素が 奇数個だとワーニングが出ちゃうけど
a<-1:9
print(matrix(a,2)[1,])
上下前次1-新書関写板覧索設栞歴
あと 550 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.044s