ABC138

ABC138のネタバレ含みます!

 昨日のAGCでぼこぼこのぼこにやられた三十三間党です.ABC138の振り返りをしていきます.

A問題

 入力の数値によってprintを変えるifが使えるか問題ですが焦りすぎて””を忘れてRE(PythonのためCEがないです)を出してしまう凡ミス.

B問題

 逆数の和の逆数を出す問題.真面目にfor文を回して終了.

C問題

 見た瞬間「結構すぐ解けそう!」と思い最初の5分ペナルティが痛いことが予想されました.入力例を見て,小さい順に合成すれば良くね?と思いましたが,確信が持てなかったので数直線に並べて考えました.まあやっぱり小さい順に並べて合成するんですが.

D問題

 木やグラフの構造について全然知らなかったので,問題文・入力例の把握に時間がかかりました.蟻本を見ながら付け焼刃で理解しました.しかし肝心の実装のところでグラフ構造を実装できなかったうえ,方針も間違っていました(部分木のリストを作ろうとしてたが,親ノードのリストを作らないといけなかった).やはり勉強不足感を感じ,夏休み中に蟻本を進めていこうと思いました.

 また,解答例の注釈に,『このあたりの問題から,言語によっては「正しい」解法でも実行時間制限がきわどいかもしれません』と書かれていて,やはりコンパイラ型言語で書くべきかなと思いました.前に書いたAPG4bも全部終わったので,C++かなにかで書こうかと思います(なないろ言語で精選過去問10選を解くというサイト(https://qiita.com/drken/items/6edb1c0542d4c3b7179c)を見て,Crystalの文法に感動したので個人的には,勉強したうえでCrystalで書きたい).

E問題

 個人的に解けるかどうかという問題が来たときにその後の問題も一応全部確認することにしています.D問題を見たときにE問題も見たのですが,「グラフもあんまり知らんしE問題のほうが簡単か?」と思ったのですが,やっぱり実装しようとするとなかなかに難しく,断念しました.

F問題

 問題文読んで諦めました.XORに対する知識なさすぎい.

総括

・C問題初めてコンテスト中に解けて嬉しかった.

・Cが簡単なときはDも解きたい.

・グラフよく知らんし勉強しよう.

C++の長いコードが苦手なのでPythonっぽく書けるコンパイラ型言語を勉強して(Crystal?)それで書きたい.

(追記)

なないろ見直したけどCrystalも良いがNimも魅力的.書いてみたい.