解き方思いつくと書かずにはいられなくなるこの中毒性からして、法規制もやむなしとする市民の声が多数上がっている。
Super Computer科学者達から「何日から何日までスパコン使用したい」という申請が来るから、できるだけ多くの科学者に使わせてあげたいという問題。
もう普通に書くと大量データで死ぬのわかりきってるので、どうにか線形時間ぐらいで解けるようにしたい。
まず考えた方針。とりあえず貪欲法で受け入れられるだけ受け入れる。次に受け入れられなかった申請がどの受け入れ済み申請とバッティングしたのか記憶しておいて、各受け入れ済み申請についてもっと多くの申請を受け入れられないか探す。受け入れ申請が増えたら、またその申請について同じことを繰り返し細分化していく……
これでちょっと書き始めたが、どうも書くの面倒くさくなりそうなのですぐ諦めて考え直し。
要は申請を日付順ソートした上で、できるだけカレンダーの左側に詰めるようにしながらなめていけばいいんだ。
まず最大日数分の配列を確保して、申請の使用開始日と同じ要素番号の要素に使用日数を入れていく。開始日同じ申請が複数あれば、使用期間長い方は無価値なので無視する。
そして配列を走査して申請が見つかったら、その申請の使用開始日から使用終了日までの間で一番使用終了日が早い申請を探して受け入れる。使用終了日の翌日から走査を再開して以下繰り返し。
いやここまでする必要すらない。開始日ではなく終了日基準で考えるべきだ。
まず終了日を要素番号、要素を開始日にした配列を作る。そして配列走査して、直前に受け入れた申請の終了日より開始日が遅い申請だけ受け入れていく。
これでコードゴルフでもないのに10行未満で書けた。
完全にアルゴリズム思いつくか思いつかないかだけの問題だが、後から考えるとなんでこんな簡単なことをすぐ思いつかなかったんだと感じる不思議。
Roller Coaster同じアトラクションにひたすら乗り続けるだけの人生を送る哀れな人々の問題。
1回1000万人乗れるコースターに平均5万人のグループが1000組並んでるから1日900万回運転して累計89兆7448億9256万5569人乗せるってどんな超銀河コースターだ。左に書いてある上限の数値超えてるんだけどいいのか。
最大1000グループしかないんだから、あるグループが先頭の時に乗れるグループ数と人数の組み合わせ1000パターンを先に計算しておけばいいんじゃんと思った。
これもさっきの問題と同じような感じで、思いつけば実装は簡単。
3つ目の実績は馬のやつと同じく言語指定。Bashはまだ触ったことあったが、clojureって聞いたこともない。そもそも関数型言語がわからんから概念から学ばなければ……。述語型言語で挫折した経験もあって手続き型言語以外は苦手意識強いわ。とりあえず後回し。
CGX Formatter字句解析して見やすいよう整形する問題。
そんなにやること多くないのでif分岐で単純に実装していいでしょう。
提出用6番目のケースだけ手元のテストにないパターンらしく、95%で詰まる。
中身見れないので推測に手間取ったが、おそらくkey=value文の中に改行が入ってる場合、それ消して1行にしたものを出力しなければいけないということだと思う。
次の行の頭が括弧かスペースかタブのときだけ改行するようにしてクリア。
TAN Network鉄道駅マップを距離付きのグラフ構造化して最短経路求める問題。
HARD1問目の迷路で作ったダイクストラメソッドに距離計算を加えるだけで解けるので楽ちん。
落とし穴として、度で与えられている緯度経度をラジアンに変換しないと、手元テストは解けるのに提出用の4つ目だけ解けない現象が起こる。これはフォーラム見ないと気づけなかった。
Genome Sequencing与えられた遺伝子の重複したパターンを探してできるだけ短くなるようにくっつける問題。
今回はテストケースに大量データ問題がないので提出用も同じ感じだと信じ、全ての並べ方について虱潰しに調べる愚直メソッドで最短のパターンを探す。
並べ方を列挙したら、それぞれのパターンの接続部分がどれくらい埋められるか調べる。
まず遺伝子の先頭を合わせて、どちらか短い方の末尾まで全ての文字が一致しているか調べる。一致しなければ2つ目の遺伝子を1つ後ろにずらしながら同じ判定を繰り返し、一致したらその時の合成遺伝子を返す。2つ目の遺伝子がズレ過ぎて1つ目の外に飛び出したら単純に2つ並べたものが答えになる。
これなら2つ目が中に埋まっているようなパターンも問題なく調べられる。
パッと見ややこしくなったが全体としては難しい処理は含んでない。
Surface提示された座標の属する湖の面積を求める問題。
面積調査を特に工夫のない単純探索でとりあえず実装したところ、60%でタイムアウトする。
一度調べた湖は何度も調べる必要が無いので、調査直後にもう一度同じ探索を行い、通った全てのマスに自分が属する湖の面積を覚えさせることで効率化を図る。
これで80%までいけたが、今度は再帰回数の限界に達したエラー出る。1万回弱程度しか潜れないのか。
今まで慣れてるからという理由で探索は全部深さ優先探索でやってたが、流石に今回は幅優先探索の方がいい案件だ。配列の要素は1億個弱ぐらい確保できるし。
探索メソッド書きなおしてクリア。
Bender - The Money Machine相変わらず俗っぽいロボがお金をたくさん拾うための動作を決める問題。
ほぼTAN Networkから距離計算を省いただけで解けるし改めて書く意味がないぐらい。
架空のゴール部屋を用意して、出口は全部そこに繋がってるとすればいい感じ。
Bender - Algorithmic Complexity計算量をオーダー記法で表す問題。この問題は多分厳密解というものが存在し得ないから、情報量が少ないケースだとどうしたって答えが出せなくなるし、しっくりくる解き方が思いつかない。
なんとなくそれっぽくなる法。
データの計算後の数値の中で最小と最大のものの比と、計算前の数値の中で最小と最大のものをnlognなどの式のnに実際に入れて計算したものの比を比較する。
桁数が一致するものがあればそのオーダーが答え。一致するものがなければ一致範囲を1桁増やして少しでも近い数値を探す。一致するものが複数ある時は、数値自体を比較してどっちがデータの値に近いかを判定する。
これで手元データはクリア、しかし提出用n^3で詰まる。
私は考えた。この問題には答えが8種類しかない。その防壁は薄絹の如くに脆弱にて、たとい提出用データの数値を隠匿するなどという卑劣極まる手段を用いようと、貴様に私の魔技ハードコーディングを阻止すること能わぬ。
こうしてn^3だけ当てはまるような細かい条件を追加して提出用もクリアした(?)
一応調べたらカーブフィッティングという専門研究があって、非線形最小二乗法なるものを使えばかなりの精度で近似できるらしい。
ここまで記録
Hard 100%Done
CodingPoints 7,969
GlobalRank 494/322,690
CountryRank 12/9,262
流石に真面目にやってる人多数圏内に入ってランクの上がりが鈍い。
後半に簡単な問題が固まってるのは気のせいではないと思う。
難易度に直結してるとは限らないけど解答の行数を多い順に並べると
APU>(300)>インディアナ>迷宮>(200)>対巨人軍>アンドロイド>爆弾魔>橋走破>(100)>ウィルス>湖面積>計算量>駅経路>(50)>字句整形>遺伝子>守銭ロボ>コースター>(10)>スパコン
と見事に前半後半に分かれるし。後半問題が前半問題の部分解だったりするし。
次は何をするか。
ベリハ1問目の任天堂提供問題の最後のテスト、書いたことないC++指定な上に、「リアルナード向け」とか不穏な言葉が見えて、既に上から順番にやって100%を目指すというモチベは失われている。
CLASH OF CODEはちょっとやってみたが、じっくり考えられないのは性に合わないからいまいち。
まず英語解読するのに時間かかる以上、英語圏の人と短時間コーディング勝負はとりわけ不利幅が大きすぎる。
BOT PROGRAMMINGやOPTIMIZATIONの方に手を出しつつベリハつまみ食いして、CP10000以上と国内総合ランク10位ぐらいを目標にするか。
- 2016/02/05(金) 04:47:59|
- CodinGame
-
| トラックバック:0
-
| コメント:0
つづき
The Labyrinthまず?マスのないマップを作成するために、前の問題のロボットみたいに行き当たりばったりに歩く。一度行ったマス目に来たら、バックトラックしながら行ったことのないマス目を探して歩く。燃料が少ない場合は効率のよい歩き方を考えなくてはいけないが、今回はとても使い切れないほど大量にあるので適当でもなんとかなる。
最初コントロールルームは無視しておいて、?マスもしくはまだ歩いてないマスがなくなった後で向かう。ここに入るとカウントダウンが始まるので、入り口までの最短距離を探索しないといけない。
各マス目に評価値を設定して、そのマス目までのより短いルートを見つけたら評価値を更新、それ以外は探索を打ち切ることで枝刈りするというダイクストラ? なんか違うような気もするけど多分ダイクストラだと思う感じのアルゴリズムを使ったら解けた。
提出用データでしか発生しないバグが生まれて困ったが、単に上下反転してるだけだったのでCUSTOMで再現してデバグしたら解決。
マップデータを配列に読み込む際、端っこは壁になってるから画面外に飛び出すかどうか気にしなくていいと思っていた処理部分で、よく見ると2つ目のケースだけ端っこが開いてるのが原因。上が開いてると出てくる配列の要素番号-1は、rubyの仕様上反対側の端っこと繋がるように使われるだけなのに対し、下が開いてると上限突破して落ちるというバグだった。
APU: Improvement Phaseとりあえず主な処理は以下
・確定判定:隣接ノードの持っているリンクの数から作成可能リンク数を計算し、それがナンバーと一致していれば全確定。ナンバーより1多ければ少なくとも1本は確定。
・仮置きフェイズ:隣接ノード数2の未確定ノードについて、作成可能リンク数1なら(01 10)、2なら(02 11 20)のように分岐させながら仮のリンクを作成して、その変化によって更にリンクが確定できるか確かめる。矛盾が発生したらバックトラック、矛盾はないが完成していなければ次のノードで更に仮置きして全体を走査する。
・ナンバー全消費時処理:自分と相手と自分の隣接ノードと相手の隣接ノードの隣接ノード数を減らす。自分から見て相手ノード、相手から見た自分ノード、自分の隣接ノードから見た自分、相手の隣接ノードから見た相手を削除。自分と相手にリンク情報を追加。
・交差判定:通ったグリッドの交点座標を全て保存しておいて、同じ所を通るリンクを作ろうとしたら失敗扱いとする。
・全接続判定:全リンク数が全ノードナンバー合計の半分になったら使用。1つのノードからリンクを辿って、通ったノードをリストに入れていく。リストサイズとノード全部の数が一致すれば解答成功。
ここまでで一応理論上は全部解ける状態ではあるがスコア70%弱。遅すぎる。
とりあえず全方向について考えてるのが悪い。
よく考えたら仮置きフェイズでは周り全部ノードの状況を気にする必要が無いし、左上から順番に辿っていけばリンク対象のノードは右と下だけに限定できる。というかmediumではそうなってたんだから素直にそれに従えばよかった。
これでCGとexpert除く85%までは到達。更に何らかの枝刈りが求められる。
・島発生判定:リンクを作成し尽くしたノード群が孤立したリンクを形成しているかどうかを、全接続判定でリンク作成するたび判定する。この処理自体が重いので使うと問題によっては逆に解けなくなる。
・下方向先取り判定:右方向にリンク作った時は直後で判定するので問題ないが、下方向のノードが消えた時、その先のノードで矛盾が発生するとしてもだいぶ後にならないとわからないので、先に判定してしまう。
この2つ合わせるとCGが解けるようになったのでそれなりの効果はあるようだが、Expertが強大すぎてもっと画期的なアイデアでないと意味がない。
交差判定を見直す。上記のだと次に交差してしまう線を引く時になるまで失敗しているかわからないので効率が悪そう。
まずノードがないグリッドの交点全てについて隣接ノードを保持したインスタンスを生成し、リンクを作成した時に通った交点の隣接ノードから見た隣接ノードを削除する。
更にその変化したノードについて確定判定を……と考えたがこれは1周回って処理中のノードに帰ってきてしまった時に割り込みが発生してバグの温床になったので取りやめ。
そこまでしなくてもこの処理は非常に強力で、提出用Expertの全体に確定判定を5回繰り返すだけで仮置きフェイズに入るまでもなく解けてしまう。どんどん壁が作られて自由を失っていくイメージ。
というわけでどうにか完成。これはすごい時間かかった……。STDERR.putsだとちょっと長くなると表示できなくなるから大量データのデバグは大変すぎる。仮置きリンクはデバグ用映像に出せないから宝の持ち腐れ状態だし。間違ったのを置いた瞬間エラー起こすんじゃなく、取り消しコマンドで消せれたりすればもうちょっと楽だったろう。
Skynet strikes back今回は1つのノードから複数のゲートに繋がる箇所がある。余裕がある時はそこを切ればいいんだけど、単にエージェントから近い複数ゲート持ちノードを選んでも、最後のケースではうまいこと遠くに誘導されて失敗するように設定されてる。
まずエージェントから一番近いゲートを探し、すぐそこに迫っているなら即切断する。組合せ爆発しないよう3個ぐらい先を見れば十分。
余裕があるときは、さっき見つけた一番近いゲートへのリンクを仮切断した上で、更一番近いゲートに向かってエージェントを仮進行させる。
仮切断仮進行を繰り返し、初めてエージェントが複数ゲート持ちノードに仮到達した時、そこのリンクを真切断する。この繰り返しも4回ぐらいで十分。
前回の多重配列をクラスにして書き直したらめっちゃすっきりしたのもあり、かなり楽に書けた。
Skynet: The BridgeEASYのが簡単すぎたのと入力形式も変わってるのとで初めてやるのと変わんない。
今回もさっきまでの問題と同じように、まずこのゲームのシミュレータを作り、暫定コマンドを適当に選んでシミュレートし、死んだらバックトラックして別のコマンドに変える、を繰り返せば良さそう。
ただし全員生き残るパターンを探す→無理なら多少犠牲が出るパターンを探す、ってやると全探索が含まれていて組合せ爆発起こしそうなので、ある程度の所で探索を打ち切る効率化は必要か。あと状況に合わせてコマンドの優先度を変えていったりとか……
……と考えていたが特に工夫なく組んだら3つ目の実績まであっさり取れたわ。
The Paranoid Android - One step furtherこれもこれまでのパターンからしてシミュレートで探索するところだが、問題が単純なのでそこまでしなくてもミディアムのに条件継ぎ足すほうが早いんじゃないかと思った。(同じ解き方するのに飽きてきた)
1-5.エレベーターがない階では作る
6.一番近いエレベーターを選ぶ
7.一番近いエレベーターが遠すぎる時は自分で作る(ステージの広さで「遠すぎる」の基準は変化)
8.ゴールまでの階数分エレベーター作成可能数が余ってる時は真下まで行って作る。重なってるエレベーターがある時は多少遠くてもそっちを選ぶ。
9.自分の真上にエレベーターがあるときは作る(作成可能数が余ってる場合)
10.ゴールの左右を走査、エレベーターがあったら下に降りるを繰り返し、通った地点におけるエレベーターの使用と建設を禁止する。
だいたいこんな感じで解けた。厳密解じゃないけど、タイトルの下に貪欲法って書いてあるから今回は近似解でもまあいいんじゃないかという解釈。
Indiana - Level 2まずシミュレートでルートを探索するが、岩がいつどこから来るのか実際に岩が出現するまでわからないので、まだ回転方向のコマンドを決められない。どのマスを通るかだけを記録する。後ろに戻ることが出来ないゲームなので、探索効率化はそこまでしなくても大丈夫。マスごとに入った方向と出た方向の組み合わせ履歴を保存しておいて、同じ組み合わせが現れたらその先は調べないことにする程度。
始まったら通る予定のマスをどんどん通れるように回転させていく。直前になってから変えていたのでは、2回回転させるパターンが間に合わない。
更に余裕がある時は仮ターン進行させることで岩の様子を見て、一番最初に主人公にぶつかるであろう岩を探し、その岩の通り道のどこかのマスを回転させることで道を塞ぐ。
なんだか道作成処理と岩破壊処理の合流ポイントの部分が偶然解けているだけのような気もするが、例題の種類が少なくて正しさが確かめられない。ベリハへ課題持ち越し。
回転方向と進行方向の両方でLEFTとRIGHTがでてくるのややこしいと思った。clockwiseとcounterclockwiseなら……長いし余計わかりにくい。
あと1ターン目に入らないと主人公がどこから来るのかわからなくてシミュレーション開始できないのなんか気持ち悪い。
Thor VS Giants今までで最もゲームっぽい。
毎度おなじみシミュレートして探索。EASYのがgiantの行動シミュレーションに使える……かと思いきや。
最も単純な実装ではまず斜め移動して軸を合わせてから直線で近付く形になるが、実際にはThorに対する角度が45度周辺の時は斜め、それ以外はまっすぐという感じに近づいてくる。更には重なってしまった時にどう動くかも考えなくてはいけなくて……。
この仕様詳細を左側の説明に書いてないのずるくないか。コーディングを楽しむという目的から外れてるというか。
どうも移動法を完全には調べきれなくて、若干シミュレートと実際の挙動が一致していないが、状況に応じてコマンド調べる優先度入れ替えたりしたら解けたのでそれで済ませた。ちょっと不完全燃焼。
移動法を考えなくてもいいように、giantに触れないように全giantの平均位置に向かって移動してある程度まとまったら攻撃、というシミュレートなし行き当たりばったり方針が推奨されているのか? でも最後の問題は行き詰まるような気がするな。
どうでもいいバグとして、方角を一文字目と最後の文字の切り出しで判断しようとすると、STRIKEのSとEが引っかかるという罠が。なんだこの単語チョイス。
Vox Codeiボンバーマン。
まず全マスに仮仮爆弾を置いてみて、爆発した時に破壊されるブロックの数を計算する。一番多かったマスを仮爆発させたという体で、更に仮仮爆弾により次の仮爆弾の位置を探すことを繰り返し、ブロックがなくなったら成功として実爆弾設置作業に入る。
失敗した時は1つ目に置いた仮想爆弾の位置を覚えておいて、その場所は選ばないようにまた同じ処理を繰り返す。
実爆弾は3ターン後に爆発するようにして、置きたい場所のブロックがまだ破壊されていなかったら、WAITしてその爆弾設置は後回しにする。
連鎖爆破させないと間に合わない問題とかがあるときつかったところだが、今回はラウンド数設定がガバガバだったので簡単だった。ベリハにはありそう。
ここまで記録
Hard 50%Done
CodingPoints 5,569
GlobalRank 951/313,638
CountryRank 24/9,148
HARDは最初問題見た時はウワッとなるが、ウンウン唸って考えると光明が見えて、試行錯誤続ければ正解に辿りつけたりつけなかったりする、個人的にかなり心地いい難易度と感じる。
今のところ迷路と経路探索とバックトラッキングばかりなので違うタイプの問題もやりたい。後半はパッと見た感じ色々ありそうだから期待。
- 2016/01/28(木) 05:09:21|
- CodinGame
-
| トラックバック:0
-
| コメント:0
初心者の練習用にいいと聞いてやったら見事にハマったので記録残しておく。
なんとなく楽そうだからrubyでやるよ。
TutorialOnboarding15種類の言語でクリアすると130CPもらえるのでやっとく。条件分岐と変数出力の仕様についてググるだけ。
Bash,C,C#,C++,F#,Java,Javascript,Lua,PHP,Pascal,Perl,Python,Python3,Ruby,Scalaでやった。
EasyPower of ThorせっかくRubyなのでコードゴルフにも挑戦してみる。変態仕様の一覧が欲しい。
・STDOUT.sync = trueはなんか知らんけどなくても動く
・splitは引数なくてもデフォルトでスペース区切り
・collectよりmap
・{|x| xなんたら}より{&:なんたら}
・loop do よりloop{}
・remaining_turnsは使わない
・"a"より?a
・ifより三項演算子もしくは||文
・比較演算子を使う
あと今回のテストケース限定の反則技として
・北に行く必要がないのでNを出力する処理を省ける
・東西方向で途中で止まる必要がないので現在地xを更新する処理を省ける
これで現状84byteの日本ランク3位。世界ランク1位は更にこの半分なのでなんか根本的に発想が違う気がする。入力を数値で受け取ってループ中に空文字出力するだけでも44byte使っちゃってるもん。
Horse-racing Dualsソートしてから前後だけ比べて解いた。
問題は三つ目の実績がBashでないと取れないこと。そしてBashには組み込みのソートがないから外部コマンドのsortを使わざるをえないんだけど、これが遅くて99999個のソートが出来ないので、最後のケースでタイムアウトする。
しかしよく見ると99999個のケースは最初から降順ソートされている……。場合分けして最後だけソートしないことで解決。これでいいのか。
それにしても変数を数値参照するときはいちいち$つけるとか面倒すぎるので言語指定もう勘弁して欲しい。
MediumAPU: Init Phase凝ったCG使ってるからすごいゲームかと思ったら決められた通り線を繋ぐだけという。
Skynet: the Virus再帰でagentからgatewayまでの最短経路探索してgatewayに近いラインを切断するようにした。
しかし無計画に書いたのでごちゃごちゃしてる。現状ノードを多重配列に保存して、次のノードを探索するときは配列のクローンからノードを一つ削除したものを再帰用関数に渡してるけど、もうちょっとすっきり書けそう?
タイムアウトするから処理効率悪いのかと思ったら、デバグ用STDERR.putsを置きすぎていただけだったということがあった。意外と表示系重い。
3つ目の実績は余裕があるときにagentの近くを切ればいけそうだけど、もうめんどくさくなったのでランダムに切るようにして何回か提出したら成功した。HARDにも出てくるので後でちゃんと考える。
Winamax Sponsored Challenge英語が読めなくて
wikipedia-戦争(トランプ)の変則ルールの4つ目を採用してるということに気付くのに時間がかかった。
ところでこのゲーム技術の介在する余地が1ミリもない純粋な運ゲーでつまんなそう。
Heat Detector二分探索する。
最後の距離10000ターン数15のケースは、2の15乗が32768だから余裕で間に合うはずなんだけど、なぜかあと一歩の所で時間切れになる。最初の1ジャンプが大きいと爆弾が初期位置の近くに、小さいと遠くになるようないじわる設定が関係しているような気がする。
なんとなく1.99分探索にしたら成功したのでそれで済ませた。もう少し厳密には1.99064から1.97619の間だけ成功する。
Mars Lander - Level 2これがミディアムで一番難しいと思うというか、これだけリアルタイム物理演算入るから毛色が違う。
手元のテストと提出用テストが同じなので、燃料の量でステージ判定して決められた動きするだけのスーパーハードコーディングでクリアした。やわらかコーディングは多分ベリハに到達できたら考える、かも。
The Paranoid Androidなんだか仰々しいけど、前にエレベーターか出口がない時は停止すればいいだけという単純な問題。Skynet: the Virusがぐちゃぐちゃした反省を踏まえてちゃんとHARD用のクラス分けしといた。
これのoptimizationは
・STDINより$>
・pushより<<
・”abc”より:abc
・配列を普通の変数で受け取ると勝手に配列になる
・.map{&:to_i}は12文字もあるので都度to_iの方がいい時も
・to_iが1文に2回出てくるならいっそ文字列化してからevalで強引に数字に戻した方がいいかも
・エレベーターとゴールを一緒くたに扱う
これでで168byteの日本ランク1位取れたが、世界1位は1問目と同じぐらいだし、もっと削る余地はありそうではある。
Teads Sponsored Challenge少し考えた結果、端から端までを全ルート探索して、一番長いルートの半分の切り上げが答えになるというところまでたどり着いた。しかしイテレータを二重にぶん回してたのでノード数万超えのケースで詰まった。
最長経路探索問題って難しいんじゃなかったかなあなどと思ったが、処理削るリスト構造思いついたらあっさり高速化して解決。
Indiana - Level 1綺麗にクラス分け出来たと思うし、ほぼバグ無しで通った。おそらくlevel2も安心。
Stock Exchange Lossesこれも最初全ケース2重走査してたので大量データで死んだ。買うのは高値更新してる時だけ、売るのは安値更新してる時だけにすれば走査1回で済むとうことに気づくかどうか。
Network Cabling自由度高い最短経路探索かと一瞬身構えるも、横ケーブルが1本しかないので実際簡単。
仮に横ケーブル引いて、その都度縦ケーブル長を計算してから二分探索していく形でできた。しかしどうもそんなことしなくても全体の平均値に一番近い家を通る所に引けばそれでいいらしい。
Conway Sequence特にテクニックはなくそのまま実装するだけ。頭だけで考えるとこんがらがる。
Telephone NumbersTeads Sponsored Challengeに自分でノード生成するステップ加えたようなもので解けた。
Dwarfs standing on the shoulders of giants単方向リストなのでSkynet: the Virusからノード削除を省いて単純化したようなもので解けた。
Bender, a depressed robotちょっとやることが多いが特に問題なし。
ループ判定は各マス通るたびにロボの状態を保存しておいて、以前のものと一致してるか判定するのが厳密だが、面倒なので10000ターン以上経ったらループしているということにした。昔のアーケードゲームに出てくる「永久パターン防止キャラ」なるものはこんなんだし、まあいいでしょう。
Scrabbleルールが良くわからない。同じ文字を2回使ったらダメというルールで作ったら提出用ケースは100%になったが、手元の5番目の答えはtweenなので失敗する謎。
The Gift人によって荷物を持てる量が違って、あんまり一人に多くの荷物をもたせるのはかわいそうみたいなことだと思う。
最大積載量小さい順にソートして、トランプのディールみたいに1つずつ配る。すると同じ最大積載量の中では前の人の方が多く持ってる状態になってるので、現在積載量順にソートしてから出力すると答えになった。
Mayan Calculation読み込んで変換して計算して変換してって色々やる。ローマ数字なんかだともっとややこしくなところ、ゼロがあるおかげでアラビア数字と互換性が高くなってるマヤ文明に感謝。(ただ厳密にはこれ位区切り用の文字でゼロと言い切れないらしい)
多重配列の縦横がどっちがどっちだかよく混乱するが、今回は方言のケースまでほぼバグ無しで通ったので気持ちよかった。
そして今HARD中。流石に歯ごたえ出てくるしまあじっくり進める。
- 2016/01/11(月) 06:17:35|
- CodinGame
-
| トラックバック:0
-
| コメント:0
もうアニメ関連しか書いてないけどむしろ細々と続いてるだけでも奇跡と言えよう。
本当は他にも何か書こうとしては「これ書くほどじゃないな」と途中で諦めること多数。別に書けばいいじゃないかと頭で思いながらもそうなるので病気だよこれは。
切ったやつをなんとなくニコ生で流して少し再評価したりしたのがそこそこある。
【10】
SHIROBAKO
【9】
のんのんびより りぴーと
ニンジャスレイヤー フロムアニメイシヨン
響け!ユーフォニアム
四月は君の嘘
ワンパンマン
【8】
放課後のプレアデス
ガッチャマン クラウズ インサイト
(インフェルノコップ 配信)
監獄学園 プリズンスクール
(東京ゴッドファーザーズ レンタル)
ジョジョの奇妙な冒険スターダストクルセイダースエジプト編
おそ松さん
(ポンコツクエスト 配信)
デス・パレード
コンクリート・レボルティオ~超人幻想~
不思議なソメラちゃん
アルドノア・ゼロ
がっこうぐらし!
【7】
ローリング☆ガールズ
血界戦線
下ネタという概念が存在しない退屈な世界
シドニアの騎士 第九惑星戦役
実在性ミリオンアーサー
(たまこラブストーリー レンタル)
干物妹!うまるちゃん
(十兵衛ちゃん 配信)
ヤング ブラック・ジャック
攻殻機動隊ARISE ALTERNATIVE ARCHITECTURE
寄生獣 セイの格率
GATE 自衛隊 彼の地にて、斯く戦えり
六花の勇者
クロスアンジュ 天使と竜の輪舞
【6】
WORKING!!!
オーバーロード
すべてがFになる THE PERFECT INSIDER
アイドルマスターシンデレラガールズ
俺物語!!
Charlotte
デュラララ!!×2
(蒼き鋼のアルペジオ ‐アルス・ノヴァ‐ DC 配信)
夜ノヤッターマン
てーきゅう
グリザイアの迷宮楽園
弱虫ペダル GRANDE ROAD
VALKYRIE DRIVE -MERMAID-
聖剣使いの禁呪詠唱
【5】
それが声優!
俺がお嬢様学校に「庶民サンプル」としてゲッツされた件
純潔のマリア
てさぐれ!部活もの すぴんおふ プルプルんシャルムと遊ぼう
ユリ熊嵐
ハッカドール THE あにめ~しょん
THE iDOLM@STER
ミス・モノクローム -The Animation-
パンチライン
乱歩奇譚 Game of Laplace
【4】
冴えない彼女の育てかた
SHOW BY ROCK!!
実は私は
プラスティック・メモリーズ
ガールズ&パンツァー
櫻子さんの足下には死体が埋まっている
GOD EATER
超爆裂異次元メンコバトルギガントシューターつかさα
【3】
幸腹グラフィティ
えとたま 干支魂
(Bonjour♪恋味パティスリー 配信)
(ARIA 配信)
アクエリオンロゴス
(エスカ&ロジーのアトリエ~黄昏の空の錬金術士~ 配信)
終わりのセラフ
東京喰種√A
(ダッシュ!四駆郎 配信)
銀魂゜
(ストライクウィッチーズ 配信)
(フォトカノ 配信)
Dance with Devils
温泉幼精ハコネちゃん
【2】
落第騎士の英雄譚
学戦都市アスタリスク
Classroom☆Crisis
蒼穹のファフナーEXODUS
GANGSTA.
戦姫絶唱シンフォギアGX
山田くんと7人の魔女
探偵歌劇ミルキィホームズTD
(ストラトス・フォー 配信)
ヘヴィーオブジェクト
ビキニ・ウォリアーズ
艦隊これくしょん-艦これ-
ダンジョンに出会いを求めるのは間違っているだろうか
美男高校地球防衛部LOVE!
(ヒロイック・エイジ 配信)
スタミュ -高校星歌劇-
進撃!巨人中学校
アブソリュート・デュオ
うしおととら
VENUS PROJECT -CLIMAX-
ランス・アンド・マスクス(Lance N’ Masques)
コメット・ルシファー
レーカン!
赤髪の白雪姫
K RETURN OF KINGS
ルパン三世新シリーズ
ケイオスドラゴン 赤竜戦役
対魔導学園35試験小隊
(タクティカルロア 配信)
ミカグラ学園組曲
城下町のダンデライオン
モンスター娘のいる日常
ガンスリンガー ストラトス
あにトレ!EX
青春×機関銃
ミリオンドール
【1】
空戦魔導士候補生の教官
暗殺教室
だんちがい
ワカコ酒
トリアージX
ISUCA
新妹魔王の契約者
小森さんは断れない!
洲崎西
機甲創世記モスピーダ
戦国無双
銃皇無尽のファフニール
枕男子
DD北斗の拳2イチゴ味+
電波教師
おくさまが生徒会長!
現行から最高評価出てくれて良かった年。
あとは日本アニメ(ーター)見本市の作品が細かすぎて入れられないけど、挑戦的な志向のものが多くて、まだまだ業界に熱はあると感じた。
今年もジョジョ4部や進撃2期やユーフォ2期、来年になるだろうけどdiesやまほいくなど個人的に期待する作品がたくさん控えてるので楽しみ。
おまけ
好きなキャラランキング今回は粒揃いだが1位の選択がこれという決め手に欠けて難航したので、参考用として評価項目を細分化して重みつけて総合点を出してみた。こういうの作るのくだらないけど楽しい。

貧乳力 作画によってかなり変動するので設定上の大きさより印象値。最重要項目
髪型 細いツインテ>太いツインテ>サイドテール>ポニーテル>その他 ぐらい
髪色 黒に近いほうがポイント高い。青や緑や紫は擬似的な黒扱い
露出度 水着が普段着だと良く、へそ出し肩出しなども評価。スカートをはかないと低ポイント
身長 高いほうがスレンダーに近付く。平均身長あたりが多くあまり差がつかない。
攻撃性 物理攻撃力の他、暴言の使用率も加味
猫被り力 攻撃性を隠蔽し引き立てるもの。特に裏表のある性格だと良し。
腹パンしたさ 調子に乗っている、うざかわいい感じがあるほど高まる。
声優力 だいたいみんな良いのであまり差がつかない。
共感度 コミュ症、卑屈な性格、不幸な境遇など。唯一ストーリーに関係する
男キャラが評価できないのもあり最終的にはフィーリングで調整した結果。
1位
相良百華 評価項目作ってる途中で絶対コイツになるやんって気付いてしまった。
2位
萌咲いちご そこまで強い印象なかったが最もコンスタントにポイントをおさえていた。
3位
平岡大輔 こんなにも救済されて良かったと感じたキャラはいない。
4位
ヤモト・コキ ヤモトコキされたさランキングなら1位確実だろうと一部で噂されている。
5位
宮内ひかげ 新幹線ガールから携帯電話ガールへ進化した。
6位
友利奈緒 見た目全然好みじゃないので数値上低めだが「弓道部の部長だなんて~」が好き。
7位
伊波まひる 最も安定した無乳描写で高ポイントを獲得した。
8位
本場切絵 何か言おうとするも何も言えずに愛想笑いの共感度が高い。
9位
ひかる 数値上高めだがロリ体型の貧乳はレギュレーション違反。ちなみに家族はいるが苗字がない。
10位
高橋葵 人狼事件で隠れていた策士キャラが発掘され一気に評価を上げた
好きなOPEDランキング1位
劇場支配人のテーマ2位
talking 3位
The Beginning4位
スピードと摩擦 5位
Absolute Soul 6位
Clattanoia 7位
Overdrive 8位
L.L.L. 9位
Flyers 10位
アイデンティティ1位は1回しか使われてないが一聞き惚れしたので文句なし。
あとは曲調問わずいいなと思った時のヒゲドライバー率が比較的高かった気がする。惜しくもランク外の吹雪や最高速 Fall in Loveなど。
- 2016/01/07(木) 23:24:41|
- その他アニメ
-
| トラックバック:0
-
| コメント:0
だいぶ楽になった
【9】
ワンパンマン やっぱりS級ヒーロー揃い踏み場面のワクワク感良いよな。
脳筋率高すぎて実際災害レベル竜とまともにタイマン張れるのタツマキバングぐらいしかいないんだけどさ。ブサイクだからとかホームレスだからとかしょーもない理由でポンポン竜生まれるのに比べてヒーローの層薄すぎるんじゃ。
ラストバトルは作画凄すぎてそれだけで泣けてくる。
ボロスは不憫過ぎる。レベル100ぐらいの相手しかいないから1万ぐらいの相手探してたらいきなり1億ぐらいのに当たってしまったような感じか。人生の中で一瞬たりとも満足できる瞬間ないやん。
ガロウ編が一番好きだから2期やってほしい。進行遅い村田版に合わせてたらいつになるかわからんし、ONE版準拠で追い越しても良いんじゃないかな……。
【8】
おそ松さん 調子に乗った奴もしくは調子に乗ってない奴がひどい目にあうパターンが安定して面白い。仕送りもらってるとか機械化するとかラブホ破壊するとか、話の流れとオチが分離してるとこの話なんだったんだと微妙な印象になる。
ギャグアニメもとい自己責任アニメとは言っても不条理系統ではないな。それでもマンネリ避けて色んなパターンに挑戦してるのには好感。
前はランキング作ろうとしたけど、それぞれ二面性を抱えているがゆえに誰が一番クズなのか決めるのは難しい。クズだけど弟思い、厨二病だけど普通、真面目風だけどオタク、ミステリアスだけど寂しがり、キチガイだけど優しい、コミュ力あるけど虚言癖、など。
コンクリート・レボルティオ~超人幻想~ 尻上がりに面白くなってく。
情報密度高いから飲み込むのホント大変だけど、既に明かされているがわかりにくい情報、後に明かされるがまだ明かされていない情報、明かす気がなく想像に任せている情報、などをしっかり区別して整理した上で複数回見るとかなり印象が変わる。
柴刑事とのバトルの行末を描かないラストの余韻とか痺れる。
こんな広く受けなさそうな作品を2クールやってくれるの嬉しいし、その直前にやるだろう1クール目後半の振り返り一挙放送も楽しみ。
不思議なソメラちゃん あいまいみー声優全員サブキャラ与えられてたり、その他こまごました所にあいまいみー要素ぶち込まれまくってて、やっぱりあいまいみー3期じゃないか。
実に75%が2018W杯アジア予選を戦い抜く声優イレブンに入るほどの実力者揃いだから使い捨てるに惜しくなるのは仕方ないね。特にかやのんのメスパックンは何回も聞きたくなる演技だった。
あとは天童が一瞬で複数回レイプされる話は見たかった。出来ないからこそOPに入れたんだろうけど……。
【7】
ヤング ブラック・ジャック 掴みのエピソードとして最初にブラックジャックぽいことをさせたせいで歪な構造になってただけで、そこから先は丁寧に闇堕ちの過程を描いてた感じな。
前日譚じゃなきゃこんなバッドエンドは中々できないや。
鉄板ギャグとして「それがどうした!」が強かった。これ使えばどんな行為でも正当化出来るぞ。
弱酸性ミリオンアーサー忘れてたけどこれ。ちょぼこれでアニメ化3作品目ってもう一流漫画家だな。尾田栄一郎や岸本斉史などという一発屋の底辺漫画家とは格が違うわ。
内容は豪華声優にどぎついシモネタ言わせるアニメだった。キャスティングした人もスピンオフ依頼した人も誰もこんなことになると思ってなかったであろうと考えると面白い。
【6】
すべてがFになる THE PERFECT INSIDER 結局最後まで何も思い出せなかったから普通に楽しめたわ。
この密室成立させるためならなんでもする姿勢好き。1万円手に入れるために100万円コスト支払うような行為は盲点になりがちなのでトリックの基本。
前書いた現代化の問題、確か監視映像を圧縮に圧縮を重ねて保存してたところ、あの程度の画質ならそこまでしなくても全部保存できるだろって思ってたんだけど、その辺は割とスルーされたような。
同名ファイルだからってすぐ上書き保存しちゃうほうが問題だった。まあそう設定してたんだからそうなんだとしか言えない。
てーきゅう 6期 あんまり関係ないけどうさかめもアニメ化決定したって。無限に延命し続けられるんじゃないか。
VALKYRIE DRIVE -MERMAID- これまでの仲間の総力結集したりとかまるでバトルアニメみたいな熱い展開入れてくるんだけど、絵面は酷すぎるからどう反応していいか困る。最終形態ダッセえ!
百華は期待を裏切らずかなり理想的なキャラだった。おこだよに含まれる狂気と幼さのギャップとか。
唇は薄いほうが良かった。
【5】
俺がお嬢様学校に「庶民サンプル」としてゲッツされた件 ラストのこの展開、最近某漫画のせいですごく話題になってたので構えて見ちゃうね。当人がはっきり助け求めてたんだから別に覚悟完了してなくても構わないはずなんだけどさ。
しかしそんなことはどうでも良くなるぐらいカオスだった。可憐だけ世界観が違いすぎて、もう全部こいつ一人で良いんじゃないかな。実質一人だけ年上になってんだけど、それで今後ぎくしゃくしたりとかしないんか。
というか予告が一番カオスだった。編集うまい。
偶然のシンクロネタとして西之園くんが知らなかった焼き肉のタレの存在を普通に知ってたのが気になった。やっぱりこいつらお嬢様の皮を被った何か別の生物なんじゃないか。
ハッカドール THE あにめ~しょん4号ちゃんのどうなってるのかよくわからないけど乳首見えそうな衣装が気になる。メインの上田はディスったけどこういうウザキャラは合ってると思う。
「でもダメよ」は闇だ。そりゃ死人も出るわ。
THE iDOLM@STER 千早回は単体で見た時と同じぐらい泣けた。1話としての完成度高いからそれまでの積み重ねあんまり関係ないな。
本放送はSG(sinderera ga-ruzu)世界線へと移行する話だったが、再放送では千早の胸を大きくすることが出来ないP(Peta)世界線に留まるというネタを仕込んでくるんじゃないかと思ったが特にそんなことはなかった。
【4】
ミス・モノクローム -The Animation- 3 あっと言わせたい回に苦しさが表れているような気がする。何をしてももう驚くことができない。
最終回も普通だったし。
櫻子さんの足下には死体が埋まっている ラスボスの影は見え隠れするけど特に直接対決はしない。長編小説を1クールでやるから仕方ないのかもしれないけど、消化不良だな……。
【3】
Dance with Devils 思い返すと、ちょっとぐらい大丈夫だよね(フラグ)→いやあ! ってパターン多かった。この悲鳴がエロいのでまあ良いんだけど、行動力が有り余ってるのも考え物。
温泉幼精ハコネちゃん 5分アニメの最終回で消えたと思ったら戻ってきたパターンとか結構無茶したな。
せめてサブタイからハコネちゃん省いて「そして新たな日常へ」みたいな感じでぼかせよ。
- 2016/01/07(木) 23:18:36|
- 定期アニメ感想
-
| トラックバック:0
-
| コメント:0
前のページ 次のページ