右上➚

プログラミングに関するメモをのこしていきます

【yukicoder】yukicoder open 2015 small - 3完

yukicoder open 2015 small に挑戦してきました!

yukicoderさん主催のコンテストに初挑戦してきました!
人生二回目のコンテストということで昨日よりは緊張もなく楽しめたかな?
言い訳になりますがちょっと同時並行でやらなきゃいけないことがあったので最初の方が変に時間食ってます...

結果

3完で44位でしたー
追記 yukicoderさんのチャレンジなる仕様によって順位が繰り上がりましたww41位という結果になりましたー
追記ここまで
3問目で変にはまってしまったので辛かった...
けどまぁ解けなきゃいけない問題は解いたかなーという感じ

復習

191

これは一旦全部足して1/10のスレッショルドを求めてから、超えていないものの数を数えるだけですねー
ちゃんとスタートと同時にはじめられて入ればこれはすぐ解けたのになー実際の記録は12分とかかかってますww

192

合成数を求める問題です!正の約数を持っていさえすればいいので偶数にしちゃうのが一番簡単ですかねー
僕は奇数だったら1足して出力、偶数だったらそのまま出力としました!
想定解はおしゃれでしたねー 整数型 x に対して x / 2 * 2 を計算すると切り捨てのお陰で必ず偶数になります!
N の制約の関係上、偶数の中で唯一合成数でない2のことを考える必要はありません!

193

チャレンジによって eval を使用していたLL勢の多くがWAになっていましたー
Leading Zero を eval すると八進数扱いになったりしてしまうようですね!
僕はなんか冗長な気もしたけどうまい方法が他に思いつかなかったので手書きでパースしてたので助かりましたね
D言語を使っていて助かった感がありますww

入力 S を2つつなげた string l = S ~ S; を定義してウィンドウを横にずらしながらひたすら計算していくという解答にしましたー
そしたらなぜか途中からWAになってしまい原因がわからなかったのでウィンドウの作り方を変えてみたり intlong にしてみたりしました
結局は考えられる最大値が負になる場合を考慮していなかったのが原因でしたー

194

ここから先は全然わかりませんでしたー194に関してはゴリ押しで小さい数字なら求められたのですが、計算量的に全然間に合わないので手が止まってしまいました...
yukicoder : No.194 フィボナッチ数列の理解(1) - kmjp's blogで解説してくださっています!

これは思いつくのは無理www
みなさんこれを普通に解いていて驚きますねー...

195, 196

この2問は問題文すらろくに見られていないのでまた後日復習したいと思います!