注意

入力の受け取りや出力については,ここでは詳細に説明されていません.
そのような内容が知りたい方は,各言語のリファレンス等を参照したり「標準入出力」などといったキーワードで検索をしたりするとよいでしょう.
「計算量」といった用語やプログラミング言語の基礎的な文法についても同様です.


概要

入力されたデータの扱いと,条件分岐を適切に実装できるかを問う問題です.

問題原案:uni_kakurenbo

略解

入力の取り扱いに注意し,問題文に与えられている内容をそのまま実装しましょう.
文字列として扱ってもよいですが,より簡単に記述する方法もあります.

解説

.Ⅰ. 必要な情報の取捨選択

問題文をよく読むと,適切なアナウンス内容は hh の値にかかわらずに決定されるということが分かります.
したがって,入力から与えられる HH は無視してよいです.

実装方法はいくつかありますが,たとえば入力をそのまま文字列として扱い,末尾の二文字のみを抽出することで目的を達成できます.
「実装例」の項では Python と C++ のそれぞれについていくつかの例を示します.

また,hh00 分と hhww 分との差は明らかに ww 分ですから,d=wd = w としてよいです.
以下では dd は用いず,ww として表記します.

.Ⅱ. if - else 文

大抵のプログラミング言語において,「もし――なら,――」という指示は if を用いて実装することができます.
詳しくは各言語のリファレンス等をご参照ください.

.Ⅲ. 条件式の簡略化

基本的には問題文に書かれている内容をそのまま実装すればこの問題に正解することができますが,やや冗長です.
文中の条件分岐を次のように言い換えると,より簡潔になります.

適切なアナウンス内容:

  • w=0w = 0 のとき:「have fun!
  • そうでないが,w5w \leq 5 のとき:「sorry
  • そうでないが,w10w \leq 10 のとき:「super sorry
  • そうでないとき:「ultra sorry

これは,if に加えて else などのキーワードを用いることで実装できます.

他にも,たとえば出力が確定した時点で処理を打ち切るようにして else を用いずに実装することもできます.

.Ⅳ. 発展

1)1) 類題

実装例

C++
Python