トップページに戻る    次の競技プログラミングの問題へ    前の競技プログラミングの問題へ

ARC-027-A 門限

■■■問題■■■

今日は憧れの先輩と一緒にお買い物!お買い物の後、お茶して、他にもいろんな思い出を作って・・・。
気がついたらもうこんな時間!18時の門限までに家に帰らないとパパに怒られちゃう><。
というわけで、友人であるあなたは、現在の時間から門限まであと何分あるかを計算することになった。

■■■入力■■■

h m

1行目には、現在時刻を表す2個の整数 h(0 <= h <= 17), m(0 <= m <= 59)が
この順に空白区切りで書かれている。
これらは、現在時刻が24時間表記でh時m分ちょうどであることを表す。

■■■出力■■■

門限である18時0分まで、あと何分あるかを出力せよ。出力の末尾にも改行を入れること。


C#のソース

using System;
using System.Collections.Generic;
using System.Linq;

class Program
{
    static string InputPattern = "InputX";

    static List<string> GetInputList()
    {
        var WillReturn = new List<string>();

        if (InputPattern == "Input1") {
            WillReturn.Add("16 23");
            //97
            //現在時刻は16時23分です。
            //門限まであと1時間37分あるので、
            //答えとして 60+37=97 を出力します。
        }
        else if (InputPattern == "Input2") {
            WillReturn.Add("17 59");
            //1
            //なんと、あと1分しかありません。急げ!
        }
        else if (InputPattern == "Input3") {
            WillReturn.Add("13 0");
            //300
        }
        else if (InputPattern == "Input4") {
            WillReturn.Add("2 7");
            //953
        }
        else {
            string wkStr;
            while ((wkStr = Console.ReadLine()) != null) WillReturn.Add(wkStr);
        }
        return WillReturn;
    }

    static void Main()
    {
        List<string> InputList = GetInputList();
        int[] wkArr = InputList[0].Split(' ').Select(X => int.Parse(X)).ToArray();
        int h = wkArr[0];
        int m = wkArr[1];

        int Answer = 18 * 60 + 0;
        Answer -= h * 60;
        Answer -= m;
        Console.WriteLine(Answer);
    }
}


解説

60進数で分数を計算してます。