【AtCoder】ABC001を解いたのでメモ【Python3】
結果と最終提出コード
解答後の心境
【A】
- これは簡単。入力の練習レベル。
【B】
- 単位
m
をkm
に直し忘れのミスがあったが、他は問題なし。
【C】
- デバッグ用の出力を消し忘れた。
N
の扱いを間違えてRE
を出してしまった。
【D】
雨なし:0, 雨開始:1, 雨終了:2
の要素を使って状態を管理するリストを作成した。WA
を出しまくっているのは、5の丸め方にミスがあることに気づかなかったから。TLE
を解決できず断念。Pythonの処理速度のせいにしようとするも、クリアしている方々を発見してしまう。
解説メモ
【A】
- なし
【B】
- なし
【C】
- 小数対策が考慮出来てなかった。細かい誤差は難しい。
【D】
- 一次元配列で行なっていた。見やすさの観点から二次元にしたのだが、処理時間の増大の原因になったか?
- 『先にソートすると高速化できる』と。なるほど!
- 座標の圧縮?ピンとこない...
- 『いもす法』を使う方法も。自分の方法と比べると色々な問題に応用が利きそう。
得た知識
format()
の使い方input()
の使い方//
はint型
に変換されず、float
のまま- python3の
round()
は丸めるので、一般的な四捨五入の場合は自前で実装 - いもす法
まとめ
- 久しぶりにPythonを触ったけど、全く書けなくなっていた...。
- 解けても、綺麗に書けているか不安。
- 他の人の提出コードの実行時間が1/10くらいなのでビビっている。笑
- 「この処理は重い!」というテンプレ的なのを覚えないとやばそう。