[python]伯俊2884号:目覚まし時計


https://www.acmicpc.net/problem/2884

質問する


尚根は毎朝目覚まし時計が起きるのを聞く.目覚ましを聞いてすぐ起きればいいのに、いつももうちょっと寝たいので、毎日学校に遅刻します.
尚根はあらゆる方法を尽くしたが、もう少し寝ようとしたが、何も解消できなかった.
気の毒な相根の昌英は、自分の使い方を勧めた.
「45分前に目覚まし時計をセットする」ということです.
この方法は簡単です.設定した目覚まし時計を45分前に変更します.どうせアラームが聞こえたら、アラームを消してもう少し寝ますから.この方法では、毎朝もっと寝ているような気がして、学校にも遅刻しません.
現在の尚根で設定されている目覚まし時計の時間を指定し、昌英の方法を使用する場合は、いつに変更すべきかを決定するプログラムを作成します.

入力


  • 第1行は2つの整数HとMを与える.(0≦H≦23,0≦M≦59)は、現在尚根で設定されているアラーム時間HのM分を意味する.

  • 入力時間は24時間で表示されます.24時間の表現では、1日の始まりは0:0(真夜中)、終わりは23:59(翌日の真夜中の1分前).時間を表すとき、不要な0は使いません.
  • しゅつりょく


    1行目の上根で昌英の方法を使う場合、設定する目覚まし時計の時間を出力します.(入力と同じ形で出力すればよい.)

    に答える


    アイデア

  • 目覚まし時計は45分前に設置する、Mが45分未満の場合、+15(+60-45)
  • .
  • また、このときH-1であるべきであり、H0であれば23である
    オーバーラップifゲート使用
  • そう思います
  • h, m = map(int, input().split())
    
    if m < 45:
        m += 15
        if h == 0:
            h = 23
        else:
            h -= 1
    
    
    print(h, m)
    これで間違いだもちろんです.elseを処理しなければ、なぜそうなるのでしょうか...

    コード#コード#

    h, m = map(int, input().split())
    
    if m < 45:
        m += 15
        if h == 0:
            h = 23
        else:
            h -= 1
    else:
        m -= 45
    
    print(h, m)
    与えられた例のみをテストし、後で提出された結果を見ないで...
    必ず丁寧に解いてください...