競技プログラミング用 知識集積所
ABC418A - I'm a teapot
最終更新:
sport_programming
-
view
問題
必要知識
考え方
最後が"tea"かどうかの判定は、細かく分解して考える。
つまり、入れられないものは、以下のいずれかに該当するものである。
つまり、入れられないものは、以下のいずれかに該当するものである。
- そもそも3文字未満のもの
- 後ろから3文字目、つまりn-3文字目が't'でないもの
- 後ろから2文字目、つまりn-2文字目が'e'でないもの
- 後ろから1文字目、つまりn-1文字目が'a'でないもの
あてはまる部分が1つでもあったらNoという部分は、if分岐の知識を使う。
最初に"Yes"を用意しておき、一つでもあてはまったら"No"にすることでうまく処理できる。
あるいは、全部を||でつないでもよい。
最初に"Yes"を用意しておき、一つでもあてはまったら"No"にすることでうまく処理できる。
あるいは、全部を||でつないでもよい。
最後に、忘れずにcoutで出力しておしまい。
解答例
注意点
3文字ない場合の対応に注意。
nが1や2だった場合、n-3文字目は存在せず、範囲外アクセスで実行時エラーする。
そのため、最初に3文字以上あるかどうかを最初にチェックする必要がある。
詳しくはif分岐の「2つの条件をどちらもチェックしたい場合」参照。
そのため、最初に3文字以上あるかどうかを最初にチェックする必要がある。
詳しくはif分岐の「2つの条件をどちらもチェックしたい場合」参照。