0.はじめに
とりあえずDまで目標で挑みましたが、Cが精一杯でした。
D、Eも解説を見ながらなんとなくわかりましたが
解答例をなぞっただけで理解度は60%といったところ・・・。
D以降の難易度が高かったためか、レートは-1と微減でした。
1.A - Shout Everyday
Aにしてはややこしい問題。
叫ぶ時刻が就寝時刻より遅い場合、起床時刻が叫ぶ時刻より早ければYes、遅ければNo
0寝起叫24→Yes
0寝叫起24→No
叫ぶ時刻が就寝時刻より早い場合、起床時刻が叫ぶ時刻より遅ければYes、早ければNo
0叫寝起24→Yes
0叫起寝24→No
と、0時をまたぐケースが今一場合分けが甘いと思つつ提出したところ、WAを食らいました。
さらに場合分けをして
叫ぶ時刻が就寝時刻より早い場合、起床時刻が叫ぶ時刻より早ければYes
0起叫寝24→Yes
叫ぶ時刻が就寝時刻より早い場合、起床時刻が就寝時刻より遅ければYes
0叫寝起24→Yes
上記以外の場合No
0叫起寝24→No
としたところACとなりました。
ちょっと甘く見たため5分ロスしました。
https://atcoder.jp/contests/abc367/submissions/56780356
2.B - Cut .0
いろいろやり方がありそうでしたが、インプットをひとまずリストに入れて操作しました。
【実装】
・入力をを1文字ずつリストXに入れる
・変数NにXの長さをインプット
・変数フラグを0で初期化
~末尾の0を省く処理
・以下を変数iを0~N-1まで繰り返す
・X[N-i-1]が"0"かつflgが0の時(リストの後ろから見ていき0が続く場合)
-X[N-i-1]を""に変換
・上記以外の場合(0の連続が途切れた場合)
-flgに1をセット
・変数ANSにXの要素を結合した値を格納
~末尾が.だった場合省きつつ出力
・ANSの末尾が”.”だったら、末尾を除去して出力
違ったらそのまま出力
素直に実装して早めの解答を心掛けました。
https://atcoder.jp/contests/abc367/submissions/56792840
3.C - Enumerate Sequences
制約から、単純に条件に当てはまるリストを全列挙し
その後リスト毎に集約した値がKで割り切れるリストのみを
回答用リストに格納して順に出力して終了でACでした。
こう書くと楽勝だった感じですが、条件に当てはまるリストを全列挙する方法が
全く思い浮かばず、Nが1~8までを場合分けして
それぞれの場合でループを作ると言う力技で解決しました。
https://atcoder.jp/contests/abc367/submissions/56808135
以上