競技プログラミング用 知識集積所
ABC401B - Unauthorized
最終更新:
sport_programming
-
view
問題
必要知識
A問題レベルのものは省略
- 特になし
考え方
N回の入力があるので、forループで1回ずつ処理をしていく。
入力を受け取り、その内容でif分岐。
入力を受け取り、その内容でif分岐。
- loginの場合
状態をloginに変える。
- logoutの場合
状態をlogoutに変える。
- publicの場合
特に何もしない。
- privateの場合
状態を確認して、もしlogoutだったらエラー数のカウントを1増やす。
以上の処理を行うためには、今の状態を管理する変数とエラー数のカウントを管理する変数が必要。
この2つはループの外側で宣言する必要がある。
前者はbool型を使って、trueならlogin状態、falseならlogout状態と決めておく。
この2つはループの外側で宣言する必要がある。
前者はbool型を使って、trueならlogin状態、falseならlogout状態と決めておく。
解答例
注意点
特殊な状況に注意
すでにloginしている状態でloginする、すでにlogoutしている状態でlogoutする、は実装によっては変なことを起こしかねない。
そのコードでどういう挙動をするかは確認しておくこと。
そのコードでどういう挙動をするかは確認しておくこと。