2018-08-01から1ヶ月間の記事一覧
できるだけ連続した番号の問題を解いていこうと考えていたが、 どうにも解法がわからんので、諦めてProblem 38に挑戦。電車の中でPythonでなんとなく書いて回してみるまでは良かったが、 すごい時間がかかるし熱いしバッテリーがガンガン減る。 1分ルールを…
組み合わせ総数は大したことないが、 精度不足で正解を出せないんじゃないかな、と考えたりしていたせいで 変な実装して全然走らせられなかったが、 頭を冷やして(寝ぼけていた状態で)愚直に実装し、あっさりと正解できた。
今回は計算量削減でかなり頭を抱えた。 愚直に回したのでは、超ハイパーウルトラアルティメットPCを組まない限り、 通常のPCでは終わらないようなとてつもない数の組み合わせを 試さなければならない。寝起きにボーッとしていたらふと気がついた。 1~9の数…
力任せにループさせてカウントし、解いた。
どう当たりをつけて良いか分からなかったので、 95あたりを最大として試しながら探索するよう実装した。 この当たりのつけ方で良かったのかどうかは謎。 (そもそも当たりをつけるタイプの問題であるのかどうかも…)
28に続き、力任せに集合に放り込んで解いた。 Pythonでは数行の実装で非常に簡単だったのだが、 C++で書こうとしたときに多倍長整数のような実装をしなければならず、 自力実装を諦め、boost::multiprecision を利用して実装した。 std::unordered_set<boost::multiprecision::cpp_int> にう</boost::multiprecision::cpp_int>…
番号順に解いていこうとしたが、26と27の解法がわからず飛ばすことにした。 (先が思いやられる。。。) 今回解いた28は、見たままの通りにマトリックス構造を作って力任せにやって解けた。 これ以外の方法もありそうだが思いつかない。