NEW GAME! 1 得能 正太郎
☆☆☆☆
著者がゲーム会社にいたころの実話を活かした漫画。
らしいんだけど何もかもが可愛いばかりで修羅場もデスマーチも何一つ出てこない。
そんな平和なIT企業があってたまるか!
まあ可愛いからいいんですが。
キャラ付けはわかりやすくできているので読みやすくて次も期待できそう。
今後どうなっていくか地獄は来るのか。
ベン・トー 12 デザートバイキングプライスレス アサウラ
☆☆☆☆
基本短編集で、そのすべてが甘々デレデレラブコメ佐藤爆発しろ、な胸焼け必至のデザートバイキング。
前巻でその展開はどうなんだ、と思ったところについてもきちんと答えを出してくれました。
しかし夢オチ使い過ぎじゃないか。
ところでなんか記憶にある最初のころの広部さんってド外道だったような気がするんだけど記憶違いだったかなあ。
ご注文はうさぎですか? 3 Koi
☆☆☆
…あーあかん。
2巻を読んでからだいぶ経ってるせいでキャラ設定覚えてない。
登場キャラが多いわりにキャラがあまり立ってないせいにちがいない。
まあ読んでたら少し思い出したかな。
タケヲちゃん物怪録4 とよ田 みのる
☆☆☆
西洋妖怪とかどうなんそれ。
登場キャラが多すぎてちょっと関係性がわからなくなってきた。
えーと誰と誰が敵対してるんだっけ。
飯田橋のふたばちゃん1 横山 了一
☆☆☆
よくある擬人化もの、今回は出版社までもがその毒牙に。
色々と大丈夫か。
ただ中身はわりとどうでもいい感で次は買わなそう。
PR
http://nabetani.sakura.ne.jp/hena/ord18mafovafo/
http://qiita.com/Nabetani/items/373105e7fafd12f5e9fd
山折り谷折りした後、折り目がどうなっているかを求める問題。
この手の図形問題って苦手なんですよね。
裏返しになったところを折ったらどうなるってあたりで頭がこんがらがる。
とか思ってたけど、実際に作り始めてみたらわりと一瞬で終わった。
かかった時間は20分程度。
たとえばJを開くと、左側はそのまま、中央に谷折りのVが入り、右側は左側のちょうど裏返しになる。
よーしこれは斬新な解き方だぜー、とか思って他の解答を見てみたら、当然みんな普通に使ってた。
http://qiita.com/Nabetani/items/373105e7fafd12f5e9fd
山折り谷折りした後、折り目がどうなっているかを求める問題。
この手の図形問題って苦手なんですよね。
裏返しになったところを折ったらどうなるってあたりで頭がこんがらがる。
とか思ってたけど、実際に作り始めてみたらわりと一瞬で終わった。
かかった時間は20分程度。
<?php class MAFOVAFO{ /** * 山折り谷折り * @param String 「JZ」みたいな文字列 * @return String 「mVVmV」みたいな文字列 **/ public function get($input){ $str = ''; for($i=strlen($input)-1; $i>=0; $i--){ switch($input[$i]){ case 'J': $str = $str . 'V' . $this->reverse($str); break; case 'L': $str = $this->reverse($str) . 'V' . $str; break; case 'Z': $str = $str . 'm' . $this->reverse($str) . 'V' . $str; break; case 'S': $str = $str . 'V' . $this->reverse($str) . 'm' . $str; break; case 'U': $str = $this->reverse($str) . 'V' . $str . 'V' . $this->reverse($str); break; } } return $str; } // 反転する private function reverse($input){ // 文字列を逆に $input = strrev($input); // mVを逆に 一括でm←→Vができない $input = str_replace(['m', 'V'],['t', 'm'], $input); $input = str_replace('t','V', $input); return $input; } } // 以下はテスト $test = [ ['JZ', 'mVVmV'], ['J', 'V'], ['L', 'V'], ['Z', 'mV'], ['U', 'VV'], ['S', 'Vm'], ['JL', 'VVm'], ['JS', 'VmVVm'], ['JU', 'VVVmm'], ['LU', 'mmVVV'], ['SL', 'VVmmV'], ['SS', 'VmVVmmVm'], ['SU', 'VVVmmmVV'], ['SZ', 'mVVmVmmV'], ['UL', 'mVVVm'], ['UU', 'mmVVVVmm'], ['UZ', 'mVVmVVmV'], ['ZJ', 'VmmVV'], ['ZS', 'VmmVmVVm'], ['ZZ', 'mVmmVVmV'], ['JJJ', 'VVmVVmm'], ['JJZ', 'mVVmVVmVmmV'], ['JSJ', 'VVmmVVmVVmm'], ['JSS', 'VmVVmmVmVVmVVmmVm'], ['JUS', 'VmVVmVVmVVmmVmmVm'], ['JUU', 'mmVVVVmmVVVmmmmVV'], ['JUZ', 'mVVmVVmVVmVmmVmmV'], ['LJJ', 'VmmVVVm'], ['LLS', 'VmmVmVVmVVm'], ['LLU', 'mmmVVVmmVVV'], ['LLZ', 'mVmmVVmVVmV'], ['LSU', 'mmVVVmmmVVVVmmmVV'], ['LSZ', 'mVVmVmmVVmVVmVmmV'], ['LZL', 'mmVVmVVmmVV'], ['LZS', 'VmmVmVVmVVmmVmVVm'], ['LZU', 'mmmVVVmmVVVmmmVVV'], ['SJL', 'VVmVVmmmVVm'], ['SLU', 'mmVVVVmmmVVmmmVVV'], ['SLZ', 'mVVmVVmVmmVmmVVmV'], ['SSU', 'VVVmmmVVVmmVVVmmmmVVVmmmVV'], ['SUJ', 'mVVVmVVmmmVmmVVVm'], ['SUS', 'VmVVmVVmVVmmVmmVmmVmVVmVVm'], ['SZZ', 'mVmmVVmVVmVmmVVmVmmVmmVVmV'], ['UJJ', 'VmmVVVmVVmm'], ['ULU', 'mmmVVVmmVVVVmmmVV'], ['ULZ', 'mVmmVVmVVmVVmVmmV'], ['UUU', 'VVmmmmVVVmmVVVVmmVVVmmmmVV'], ['ZJU', 'VVVmmmVVmmmVVVVmm'], ['ZLS', 'VmVVmmVmmVmVVmVVm'], ['ZSJ', 'VVmmVmmVVmmVVVmmV'], ['ZUJ', 'mVVVmmVmmmVVmVVVm'], ['JJLJ', 'mVVVmmVVmVVmmmV'], ['JLJJ', 'VmmVVVmVVmmmVVm'], ['JLJL', 'VmmVVVmVVmmmVVm'], ['LJJL', 'VVmmVmmVVVmVVmm'], ['LLJJ', 'VmmmVVmVVmmVVVm'], ['SZUS', 'VmVVmVVmmVmmVmmVmVVmVVmVVmVVmmVmmVmmVmVVmVVmVVmmVmmVmmVmVVmVVmmVmmVmmVmVVmVVmVVm'], ['ULLS', 'VmmVmmVmVVmVVmmVmVVmVVmVVmmVmmVmVVm'], ['JJJJZJ', 'VmmVVVmmVVmVVmmVVmmmVVmVVmmVVVmmVVmmVmmVVmmmVVmVVmmVVVmmVVmVVmmVVmmmVVmmVmmVVVmmVVmmVmmVVmmmVVm'], ['JULLLJ', 'mmVmmVVmmmVVmVVVmmVmmVVVmmVVmVVVmmVmmVVmmmVVmVVVmmVmmVVVmmVVmVVmmmVmmVVmmmVVmVVmmmVmmVVVmmVVmVV'], ['LJJJUL', 'mVVVmVVmmmVVmVVVmmVmmmVmmVVVmVVmmmVmmVVVmmVmmmVVmVVVmVVmmmVVmVVVmmVmmmVVmVVVmVVmmmVmmVVVmmVmmmV'], ['LJSJJL', 'VVmVVmmVVVmmVmmmVVmVVmmmVVmmVmmVVVmVVmmmVVmmVmmVVVmVVmmVVVmmVmmmVVmVVmmVVVmmVmmVVVmVVmmmVVmmVmm'], ['LZLLLJ', 'mmVmmVVmmmVVmVVmmmVmmVVVmmVVmVVVmmVmmVVmmmVVmVVVmmVmmVVVmmVVmVVmmmVmmVVmmmVVmVVVmmVmmVVVmmVVmVV'], ['SJJJJL', 'VVmVVmmVVVmmVmmVVVmVVmmmVVmmVmmVVVmVVmmVVVmmVmmmVVmVVmmmVVmmVmmmVVmVVmmVVVmmVmmVVVmVVmmmVVmmVmm'], ['ZLJLJL', 'VmmVVVmmVmmmVVmVVmmVVVmVVmmmVVmmVmmVVVmmVmmmVVmmVmmVVVmVVmmmVVmVVmmVVVmmVmmmVVmVVmmVVVmVVmmmVVm'], ]; $mafovafo = new MAFOVAFO(); foreach($test as $key=>$data){ $answer = $mafovafo->get($data[0]); if($answer !== $data[1]){ print('えらー'); } }折るのではなく、後ろから開いていく方向で考えた。
たとえばJを開くと、左側はそのまま、中央に谷折りのVが入り、右側は左側のちょうど裏返しになる。
よーしこれは斬新な解き方だぜー、とか思って他の解答を見てみたら、当然みんな普通に使ってた。
ヤマハ YJ-17 ZENITH メタルブラック
ツーリングセローでいつでもタンデムできるように、予備のヘルメットを買いました。
…ごめん嘘です。
後部に誰かを乗せたことなんてないし今後もないでしょう。
現在所有しているHORNET-DSは完全オフ用のフルフェイスヘルメットなので、着脱が大変です。
もちろん遠出するなら必要なものですが、近所に買い物に行くのにこれではめんどいです。
ということで日常用に着脱が簡単なのをもうひとつ購入しました。
色は黒なんですが黒が二種類あるのでどっちかわかりません。
つるつるしてるのでたぶんメタルブラックのほう。
というかバイク買ってからまだ一度も遠出できてない。
もやしもん13 石川 雅之
☆☆☆☆☆
まだ受験なのにえらい最終回っぽい雰囲気だな、と思ってたら本当に終わってしまった。
いやー面白いは面白かったんだが結局フラグなんもなしかい。
思わせぶりな新キャラも結局入学しただけだしムトーとかほとんど出てこないじゃないか。
何が言いたいかって言うと続き読みたいです。
コミック星新一 宇宙からの客 星 新一
☆☆☆☆☆
午後の恐竜、空への門、親しげな悪魔に続く星新一漫画化シリーズ、第4弾かな?
いきなりあれだがなんで表題がこれなんだ。
一番ひどいオチの話じゃないか。
気に入ったのは『半人前』『調査』『信念』あたり、一番好きなのは『包み』ですかね。
半人前は設定がかなり変わっているみたいですが、こっちのほうがいいような気がします。
信念は似たような別の話を読んだ記憶があるんですが、これは誰の話だったっけ。
ライバル会社にスパイとして入って、結局社長まで上り詰めて逆に元の会社を潰しちゃう話。
それにしても何度でも言うが星新一は天才だな。
暗殺教室8 松井 優征
☆☆☆☆
いやあ、さすがに中学生でその実力は無理があるんじゃないかな。
まあ面白いからいいんだけどさ。
あと今後ユウジ君の出番はあるのでしょうか。
波打際のむろみさん10 名島 啓二
☆☆☆☆
いつもと変わらない、相変わらずの内容。
まあ全く同じだとマンネリで飽きるので、何かが変わっているのかもしれませんが、それでも何も変わらないように思えるのは見事。
話の内容もいつもどおり、あってないようなものです(褒め言葉)
PHPには立方根など累乗根(冪根)を求める関数がありませんでした。
自作関数がStackOverflowにありましたが、わりとめんどいです。
というかこのNRoot()、NRoot('64','3')に'3'、NRoot('65','3')に'4'、NRoot('66','3')に'5'を返してくるんだがこれ合ってるのか?
PHP5.6では、このような怪しい自作関数に頼る必要はありません。
https://github.com/php/php-src/blob/php-5.6.0alpha3/NEWS
> 23 Jan 2014, PHP 5.6.0 Alpha 1
> Added gmp_root() and gmp_rootrem() functions for calculating nth roots.
まあ累乗根なんていつ使うんだよという話ですが。
あとあくまで整数部分だけを返してくる関数なので、小数点以下まで求めたい場合はいったん1000を掛けてから計算してやる必要があります。
ところで、GMP演算の返り値はGMPオブジェクトです。
これまでGMPオブジェクトを扱う場合は、ただの足し算でも
$c = gmp_add($a, $b);
などと書く必要がありました。
PHP5.6ではGMPの演算子オーバーロードもサポートされました。
もうgmp_add(gmp_add(gmp_add(gmp_add(gmp_init(1), 2), 3), 4), 5);なんて書かずにすみます。
もうひとつ数学関連の機能追加がありました。
> 13 Feb 2014, PHP 5.6.0 Alpha 2
> Added T_POW (**) operator
こちらはpow()やgmp_pow()があるのであまり恩恵はない気もしますが、上記演算子オーバーロードと合わせるとその威力は歴然。
マニュアルの演算子の項目にはまだ載っていません。
優先順位は「*/%」のひとつ上で、かなり優先度高めでした。
これでPHPでも実用的な数学計算が行えますね。
まあそういうのはFORTRANやMATLABとかに任せとけよって話ですが。
自作関数がStackOverflowにありましたが、わりとめんどいです。
というかこのNRoot()、NRoot('64','3')に'3'、NRoot('65','3')に'4'、NRoot('66','3')に'5'を返してくるんだがこれ合ってるのか?
PHP5.6では、このような怪しい自作関数に頼る必要はありません。
https://github.com/php/php-src/blob/php-5.6.0alpha3/NEWS
> 23 Jan 2014, PHP 5.6.0 Alpha 1
> Added gmp_root() and gmp_rootrem() functions for calculating nth roots.
<?php gmp_root('63', '3'), // 3 gmp_root('64', '3'), // 4 gmp_root('65', '3'), // 4 gmp_rootrem('63', '3'), // 3あまり36 gmp_rootrem('64', '3'), // 4あまり0 gmp_rootrem('65', '3') // 4あまり1便利。
まあ累乗根なんていつ使うんだよという話ですが。
あとあくまで整数部分だけを返してくる関数なので、小数点以下まで求めたい場合はいったん1000を掛けてから計算してやる必要があります。
ところで、GMP演算の返り値はGMPオブジェクトです。
これまでGMPオブジェクトを扱う場合は、ただの足し算でも
$c = gmp_add($a, $b);
などと書く必要がありました。
PHP5.6ではGMPの演算子オーバーロードもサポートされました。
<?php gmp_init(1) + 2; // GMP(2) gmp_init(1) + '1234567890123456789012345678901234567890'; // GMP(123456789012345678901234567891) 1 + '1234567890123456789012345678901234567890'; // float(1.2345678901235E+29)GMPオブジェクトに対して演算を行った場合、GMPとして透過的に取り扱ってくれます。
もうgmp_add(gmp_add(gmp_add(gmp_add(gmp_init(1), 2), 3), 4), 5);なんて書かずにすみます。
もうひとつ数学関連の機能追加がありました。
> 13 Feb 2014, PHP 5.6.0 Alpha 2
> Added T_POW (**) operator
<?php print(5 ** 3); // 125 print(4 ** 3 ** 2); // 262144 print(gmp_init(5) ** 3); // GMP(125)累乗演算子が追加になった模様。
こちらはpow()やgmp_pow()があるのであまり恩恵はない気もしますが、上記演算子オーバーロードと合わせるとその威力は歴然。
マニュアルの演算子の項目にはまだ載っていません。
優先順位は「*/%」のひとつ上で、かなり優先度高めでした。
これでPHPでも実用的な数学計算が行えますね。
まあそういうのはFORTRANやMATLABとかに任せとけよって話ですが。
http://oredon.yuipyong.com/blog/2014/03/phpbbs.php
とりあえず「,」が勝手に削除される残念仕様。
せっかくfputcsv()やらserialize()やらがあるんだから、自力パースなんぞせずに標準関数に任せるべき。
さて、本題はここからで、このフォームにはXSSが存在します。
『res=1&parent_no=<script>alert("a");</script>』
をPOSTすると見事にアラートが出ます。
まあChromeだとXSS Auditorに止められますが。
何なんですがねXSS Auditor。
こんなのがあると却って危ない気がしますがどうでしょう。
原因はsprintfの引数に%sを使っているせいですが、もっと根本的な原因としては出力を一切エスケープしていないせいです。
ん…?一切エスケープしていない?
普通にフォームに『<script>alert("a");</script>』って入れて投稿するだけでXSSになりました。
こっちはChromeでも出ます。
これはひどい。
もうひとつ深刻な問題があって、
『del=1&no=0』をPOSTすると全投稿が消えます。
実際は返信についてだけはデータ上に残っているのですが、表示されることはありません。
これは、全ての親記事が内部的にはNo0への返信という形式になっているためです。
削除ボタンは、自分の記事番号もしくは親の記事番号がリクエスト値であれば削除する、という処理になっています。
そのため削除する記事番号に0を入れると全投稿が消えます。
まあ、そもそもそれ以前に認証の一切存在しない削除ボタンなので、いくらでも好きに消せてしまうのですが。
http://oredon.yuipyong.com/blog/2014/02/phptweet.php
> header('Location: ' . $_SERVER['PHP_SELF']);
あかん。
テキストファイルに保存する段階でhtmlspecialchars()しているのもおかしいですね。
エスケープは使用する直前です。
htmlspecialchars()で変形する前のテキストが欲しいなんてことになった場合、いちいちhtmlspecialchars_decode()する羽目になります。
あと$_COOKIEについては、個人的には一切使用する必要のない変数だと思っています。
ほぼ全ての状況において$_SESSIONで代替できますし、そのほうがより安全です。
http://oredon.yuipyong.com/blog/2014/02/php-2.php
特にセキュリティ的な問題は無いように思えますが、カウンター程度で3回もfopenするのはあんまり気持ちよくないな。
とりあえず「,」が勝手に削除される残念仕様。
せっかくfputcsv()やらserialize()やらがあるんだから、自力パースなんぞせずに標準関数に任せるべき。
さて、本題はここからで、このフォームにはXSSが存在します。
『res=1&parent_no=<script>alert("a");</script>』
をPOSTすると見事にアラートが出ます。
まあChromeだとXSS Auditorに止められますが。
何なんですがねXSS Auditor。
こんなのがあると却って危ない気がしますがどうでしょう。
原因はsprintfの引数に%sを使っているせいですが、もっと根本的な原因としては出力を一切エスケープしていないせいです。
ん…?一切エスケープしていない?
普通にフォームに『<script>alert("a");</script>』って入れて投稿するだけでXSSになりました。
こっちはChromeでも出ます。
これはひどい。
もうひとつ深刻な問題があって、
『del=1&no=0』をPOSTすると全投稿が消えます。
実際は返信についてだけはデータ上に残っているのですが、表示されることはありません。
これは、全ての親記事が内部的にはNo0への返信という形式になっているためです。
削除ボタンは、自分の記事番号もしくは親の記事番号がリクエスト値であれば削除する、という処理になっています。
そのため削除する記事番号に0を入れると全投稿が消えます。
まあ、そもそもそれ以前に認証の一切存在しない削除ボタンなので、いくらでも好きに消せてしまうのですが。
http://oredon.yuipyong.com/blog/2014/02/phptweet.php
> header('Location: ' . $_SERVER['PHP_SELF']);
あかん。
テキストファイルに保存する段階でhtmlspecialchars()しているのもおかしいですね。
エスケープは使用する直前です。
htmlspecialchars()で変形する前のテキストが欲しいなんてことになった場合、いちいちhtmlspecialchars_decode()する羽目になります。
あと$_COOKIEについては、個人的には一切使用する必要のない変数だと思っています。
ほぼ全ての状況において$_SESSIONで代替できますし、そのほうがより安全です。
http://oredon.yuipyong.com/blog/2014/02/php-2.php
特にセキュリティ的な問題は無いように思えますが、カウンター程度で3回もfopenするのはあんまり気持ちよくないな。
紫色のクオリア3 綱島 志朗
☆☆☆☆☆
初めてこの小説を読んだときの衝撃をそのまま、まさにそのまま受け継いだ名コミカライズでした。
まあ小説そのまんますぎるってことでもあるんだけど、しかしあの小説の濃さをそのままたった3巻に収めるってだけでもただものではない。
My way 工藤 真由
☆☆☆☆☆
無論Alright!ハートキャッチプリキュア!のために買ったのだが、残念ながらアレンジバージョンだった。
いや、私はTV放映曲のフルバージョンが欲しいのだよ。
よく考えてみたらそもそも歌ってる人からして違うから、根本的なところで間違っていたのであった。
まあプリキュアメドレーとか入ってたしまあいいか。
おまけDVD……あ、これあかんやつだ。
背景がスタジオとか外ならまだしもなんで一色なんだよ。
取り込むの前提なのか?
ちいちゃんのおしながき10 井 昌和
☆☆☆
さすがに少々マンネリ化してきた。
母が駄目人間過ぎてさすがになあ。
ログ・ホライズン6 夜明けの迷い子 橙乃 ままれ
ログ・ホライズン7 供贄の黄金
☆☆☆☆
アカツキの性格が未だによくわからん。
いい大人が何やってんだ。
この作者、やたら速筆だった印象があるのですが、さすがに速度が落ちてきましたね。
単に書き貯めていたのかもしれませんが。
しかし作品全体が一体どこに向かっているのかよくわからん。
http://qiita.com/Nabetani/items/0a711729fdea28b1c30b
http://nabetani.sakura.ne.jp/hena/ord19sanwa/
・3つの数がある
・重複ありで1~3個選んで合計値を出す
・合計値の部分集合があるとき、元の3数を求めよ
・解がない場合は'none'、一意にならなければ'many'
どうやって解くんだこれ?
全探索しかないかな?
PHPにもcombination欲しいですね。
標準関数でなんでも揃うPHPなのに何故これはないんだろう。
しかし実は深刻なのはアドホックな例外対策のほうです。
今回は無理矢理'1,2,3'だけ除外していますが、他にも'1,2,4'や'1,2,5'など、最大数を使わないで作れる数について不正解になります。
あるいはもっと単純に'1'だけでも間違ってしまいます。
しかし今回はテストケース動くからまあいいや的な。
実装は2時間かかりました。
$i$j$kのあたりで大混乱。
なお実行にかかる時間は3秒程度。
PHPはやい。
http://nabetani.sakura.ne.jp/hena/ord19sanwa/
・3つの数がある
・重複ありで1~3個選んで合計値を出す
・合計値の部分集合があるとき、元の3数を求めよ
・解がない場合は'none'、一意にならなければ'many'
どうやって解くんだこれ?
全探索しかないかな?
<?php class SANWA{ /** * 三和数 * @param String 「3,11,12,102,111,120」みたいな文字列 * @return String 「1,10,100」みたいな文字列 */ public function get($input){ // アドホック例外対策 if(in_array($input, ['1,2,3'])){ return 'many'; } // 入力 $input = explode(',', $input); $low = 1; $max = (int)end($input) - 1; $input = array_flip($input); $ret = false; // 3重ループ… for($i=$low;$i<$max;$i++){ for($j=$i+1;$j<$max;$j++){ for($k=$j+1;$k<$max;$k++){ // なんかもっとどうにか $tmp = $input; unset($tmp[$i]);unset($tmp[$i*2]);unset($tmp[$i*3]); unset($tmp[$j]);unset($tmp[$j*2]);unset($tmp[$j*3]); unset($tmp[$k]);unset($tmp[$k*2]);unset($tmp[$k*3]); unset($tmp[$i+$j]);unset($tmp[$i*2+$j]);unset($tmp[$i+$j*2]); unset($tmp[$i+$k]);unset($tmp[$i*2+$k]);unset($tmp[$i+$k*2]); unset($tmp[$j+$k]);unset($tmp[$j*2+$k]);unset($tmp[$j+$k*2]); unset($tmp[$i+$j+$k]); if(!$tmp){ if($ret){ return 'many'; } $ret = $i.','.$j.','.$k; } } } } return $ret ?: 'none'; } } // 以下はテスト $test = [ ['3,11,12,102,111,120', '1,10,100'], ['10,20,30,35,70', 'many'], ['1,5,20,80', 'none'], ['1,2,3,4,5,6,7,8,9,10,11,12,13,14', 'many'], ['1,2,3,4,5,6,7,8,9,10,11,12,13,14,15', '1,4,5'], ['1,2,3,4,5,6,7,8,9,10,11,12,13,14,17', 'none'], ['1,2,3,4,5,6,7,8,9,10,11,12,13,14,18', '1,4,6'], ['5,6,7,8,9,10,11,12,13,14,15,16', '2,5,6'], ['9,10,11,12,13,14,15,16,17,18,19', '4,5,7'], ['11,36,37,45,55,70,71', '1,10,35'], ['92,93,94,95,96,97,98,99', '30,32,33'], ['95,96,97,98,99,100', 'many'], ['27,30,34,37,43,44,46,51,57', '10,17,23'], ['6,10,13,17,65,73,76,80', 'none'], ['12,19,21,29,85', 'none'], ['1,2,8,10,14,23,58,62,64', 'none'], ['4,22,25,31,44,50,58,69,71,72,73,77', 'none'], ['8,16,26,27,42,53,65,69,81,83,88,99', 'none'], ['9,10,23,24,28,33,38,39,58,68,84', 'none'], ['11,16,24,26,88', 'none'], ['24,33,47,56,63,66,75,78,89,93', 'none'], ['7,26,72,77', 'many'], ['69,88,95,97', 'many'], ['9,14,48,89', 'many'], ['69,76,77,83', 'many'], ['11,14,24', 'many'], ['8,25,75,93', 'many'], ['11,55,93,98,99', 'many'], ['71,83,87', 'many'], ['22,76,77,92', '7,15,62'], ['33,61,66,83,95', '17,33,61'], ['6,16,49,55,72', '6,16,33'], ['62,85,97,98', '12,25,73'], ['54,60,67,70,72', '20,25,27'], ['54,61,68,84,87', '27,30,34'], ['65,67,69,75,79,89,99', '21,23,33'], ['69,72,80,81,89', '23,24,33'], ['1,2,3', 'many'], ]; $sanwa = new SANWA(); foreach($test as $key=>$data){ $answer = $sanwa->get($data[0]); if($answer !== $data[1]){ print('えらー'); } }いやあunsetのあたりがなんともはや。
PHPにもcombination欲しいですね。
標準関数でなんでも揃うPHPなのに何故これはないんだろう。
しかし実は深刻なのはアドホックな例外対策のほうです。
今回は無理矢理'1,2,3'だけ除外していますが、他にも'1,2,4'や'1,2,5'など、最大数を使わないで作れる数について不正解になります。
あるいはもっと単純に'1'だけでも間違ってしまいます。
しかし今回はテストケース動くからまあいいや的な。
実装は2時間かかりました。
$i$j$kのあたりで大混乱。
なお実行にかかる時間は3秒程度。
PHPはやい。
ソード・ワールド2.0リプレイfrom USA10 英雄之剣 ―アンセルムズソード― ベーテ・有理・黒崎
ソード・ワールド2.0リプレイfrom USA11 蛮勇再臨―ガッデムアゲイン―
☆☆☆☆
ベーテ・有理・黒崎渾身のシリーズ、見事完結。
当初はクリフが鬱陶しすぎてどうしたものかと思っていたが、どうにか落ち着くところに落ち着いた。
ガッデムアゲインは完結後のおまけシナリオというだけあって、あまりのはっちゃけぶり。
どうすんだよこの駄目夫婦。
結局2.0では新米女神の次くらいに好きなシリーズになりました。
次回作も楽しみですね。
ソード・ワールド2.0リプレイ 双頭のサーペント 清松 みゆき
ソード・ワールド2.0リプレイ 三眼のサーペント(上)
☆☆☆☆
15レベルの最強パーティに、GMが対抗するはうっかり世界が滅ぶレベルの難敵。
果たして世界の明日はどっち、という世紀末リプレイ。
最後でなにやらとんでもない依頼をされますが果たして…!?
と思ったがデータ的にはどうにかなりそうな気がしないこともないような。
ソード・ワールド2.0リプレイ 七剣刃クロニクル4 秋田 みやび
☆☆☆
身内が悪人だらけじゃないか。
どうすんだ。
よもやあの人までそっち側に倒すとは思わなかった。
かなり先が読めない展開で面白いが、正直少々どころではなく設定に無理がある場面もあるようなないような。
この作品、一体今後どこに辿り着くのか。
どこまで行けるかな? 藤末 さくら
☆☆☆☆
身長150センチ、体力皆無の漫画家が、うっかり何かのバイクに惚れてしまって普通二輪を取るまでの実録。
地味な絵柄だけど微妙に楽しい。
最初は教習所内で30キロ出せないほどびくびくしていた作者が、最後はめでたく希望のバイクを購入し、仲間とツーリングに行くまで成長します。
まあ私は普通自動車普通二輪大型二輪全てストレートで取ってしまったので、この作者の感覚は正直あまりよくわからなかったりするのですが。
ワカコ酒2 新久 千映
☆☆☆☆
つまみを食べ、酒を飲む、それだけの話。
なのに不思議と引き込まれてしまう。
私はお酒飲まないのですが、それでもこれだけ読めるということは、酒飲みにはもっと頷ける話ということではないでしょうか。
でも作者はぷしゅーとか言わないらしいです。
ソラミちゃんの唄1 ノッツ
☆☆☆☆
引き籠もりの駄目人間が一時の夢を見る。
だらだたとした日常の、ハートフルなようなそうでもないような一幕。
絵は下手なんだけど気にならない可愛さ。
あー混ざりたい。
雀術師シルルと微差ゴースト1 片山 まさゆき
雀術師シルルと微差ゴースト2
☆☆☆
うーむなんかこう微妙。
端的に言ってシルルが好きじゃない。
せっかち伯爵と時間どろぼう1 久米田 康治
☆☆☆☆☆
ようやく最新作来たか。
いきなり広げるのが難しそうなネタで来たな、と思いきやいつもの久米田康治でした。
基本は改蔵や絶望先生と同じ展開ですが、両者では封印されていた下ネタも復活しています。
相変わらず話がとっちらかってて生き急いでる感に溢れてます。
それにしても表紙が完全に12巻で終了の予定なのですが果たしてどうなる。
僕の後ろに魔女がいる4 山田 ヒツジ
☆☆☆☆☆
5巻が出ないなあと思ったら、作者療養中だそうです。心配。
復活してほしいものです。
孔明のヨメ。2 杜康 潤
孔明のヨメ。3
☆☆☆
微妙に史実を織り込みつつ、なにやら不穏な陰謀が動き出します。
決して超人ではなく、見通す目こそ持っているものの、等身大のキャラクターとして描かれているのが逆に新鮮。
正直このあたりの知識って真三國無双とか龍狼伝とかでしか知らないんですよね。
昔三国志演義読んだはずなんだがあんまり覚えてないです。
むこうぶち37 天獅子 悦也
☆☆☆☆
表紙がいつも傀のアップなのでどこまで買ったかよくわからなくなる37巻。
今回は変則ルール編ということで、いつもとは違う目新しさがあり新鮮に読めました。
ただまあ変則ルールは私にも馴染みが薄いので、正しいのか強いのかどうなのかよくわからないという問題点が。
あとこの世界のバブルはいつ終わるんだ。